(eval-when (compile) (set-current-module (resolve-module (quote (guile))))) (if #f #f) (letrec* ((#{and-map*\ 36}# (lambda (#{f\ 200}# #{first\ 201}# . #{rest\ 202}#) (begin (let ((#{t\ 208}# (null? #{first\ 201}#))) (if #{t\ 208}# #{t\ 208}# (if (null? #{rest\ 202}#) (letrec* ((#{andmap\ 212}# (lambda (#{first\ 213}#) (begin (let ((#{x\ 216}# (car #{first\ 213}#)) (#{first\ 217}# (cdr #{first\ 213}#))) (if (null? #{first\ 217}#) (#{f\ 200}# #{x\ 216}#) (if (#{f\ 200}# #{x\ 216}#) (#{andmap\ 212}# #{first\ 217}#) #f))))))) (begin (#{andmap\ 212}# #{first\ 201}#))) (letrec* ((#{andmap\ 223}# (lambda (#{first\ 224}# #{rest\ 225}#) (begin (let ((#{x\ 230}# (car #{first\ 224}#)) (#{xr\ 231}# (map car #{rest\ 225}#)) (#{first\ 232}# (cdr #{first\ 224}#)) (#{rest\ 233}# (map cdr #{rest\ 225}#))) (if (null? #{first\ 232}#) (@apply #{f\ 200}# #{x\ 230}# #{xr\ 231}#) (if (@apply #{f\ 200}# #{x\ 230}# #{xr\ 231}#) (#{andmap\ 223}# #{first\ 232}# #{rest\ 233}#) #f))))))) (begin (#{andmap\ 223}# #{first\ 201}# #{rest\ 202}#)))))))))) (begin (let ((#{make-primitive-ref\ 242}# (if #f #f)) (#{fx+\ 281}# (if #f #f)) (#{fx-\ 283}# (if #f #f)) (#{fx=\ 285}# (if #f #f)) (#{fx<\ 287}# (if #f #f)) (#{set-syntax-object-expression!\ 352}# (if #f #f)) (#{set-syntax-object-wrap!\ 354}# (if #f #f)) (#{set-syntax-object-module!\ 356}# (if #f #f)) (#{binding-type\ 363}# (if #f #f)) (#{binding-value\ 365}# (if #f #f)) (#{make-wrap\ 385}# (if #f #f)) (#{wrap-marks\ 387}# (if #f #f)) (#{wrap-subst\ 389}# (if #f #f)) (#{ribcage?\ 403}# (if #f #f))) (letrec* ((#{make-void\ 238}# (lambda (#{src\ 698}#) (make-struct/no-tail (vector-ref %expanded-vtables 0) #{src\ 698}#))) (#{make-const\ 240}# (lambda (#{src\ 700}# #{exp\ 701}#) (make-struct/no-tail (vector-ref %expanded-vtables 1) #{src\ 700}# #{exp\ 701}#))) (#{make-lexical-ref\ 244}# (lambda (#{src\ 708}# #{name\ 709}# #{gensym\ 710}#) (make-struct/no-tail (vector-ref %expanded-vtables 3) #{src\ 708}# #{name\ 709}# #{gensym\ 710}#))) (#{make-lexical-set\ 246}# (lambda (#{src\ 714}# #{name\ 715}# #{gensym\ 716}# #{exp\ 717}#) (make-struct/no-tail (vector-ref %expanded-vtables 4) #{src\ 714}# #{name\ 715}# #{gensym\ 716}# #{exp\ 717}#))) (#{make-module-ref\ 248}# (lambda (#{src\ 722}# #{mod\ 723}# #{name\ 724}# #{public?\ 725}#) (make-struct/no-tail (vector-ref %expanded-vtables 5) #{src\ 722}# #{mod\ 723}# #{name\ 724}# #{public?\ 725}#))) (#{make-module-set\ 250}# (lambda (#{src\ 730}# #{mod\ 731}# #{name\ 732}# #{public?\ 733}# #{exp\ 734}#) (make-struct/no-tail (vector-ref %expanded-vtables 6) #{src\ 730}# #{mod\ 731}# #{name\ 732}# #{public?\ 733}# #{exp\ 734}#))) (#{make-toplevel-ref\ 252}# (lambda (#{src\ 740}# #{name\ 741}#) (make-struct/no-tail (vector-ref %expanded-vtables 7) #{src\ 740}# #{name\ 741}#))) (#{make-toplevel-set\ 254}# (lambda (#{src\ 744}# #{name\ 745}# #{exp\ 746}#) (make-struct/no-tail (vector-ref %expanded-vtables 8) #{src\ 744}# #{name\ 745}# #{exp\ 746}#))) (#{make-toplevel-define\ 256}# (lambda (#{src\ 750}# #{name\ 751}# #{exp\ 752}#) (make-struct/no-tail (vector-ref %expanded-vtables 9) #{src\ 750}# #{name\ 751}# #{exp\ 752}#))) (#{make-conditional\ 258}# (lambda (#{src\ 756}# #{test\ 757}# #{consequent\ 758}# #{alternate\ 759}#) (make-struct/no-tail (vector-ref %expanded-vtables 10) #{src\ 756}# #{test\ 757}# #{consequent\ 758}# #{alternate\ 759}#))) (#{make-application\ 260}# (lambda (#{src\ 764}# #{proc\ 765}# #{args\ 766}#) (make-struct/no-tail (vector-ref %expanded-vtables 11) #{src\ 764}# #{proc\ 765}# #{args\ 766}#))) (#{make-sequence\ 262}# (lambda (#{src\ 770}# #{exps\ 771}#) (make-struct/no-tail (vector-ref %expanded-vtables 12) #{src\ 770}# #{exps\ 771}#))) (#{make-lambda\ 264}# (lambda (#{src\ 774}# #{meta\ 775}# #{body\ 776}#) (make-struct/no-tail (vector-ref %expanded-vtables 13) #{src\ 774}# #{meta\ 775}# #{body\ 776}#))) (#{make-lambda-case\ 266}# (lambda (#{src\ 780}# #{req\ 781}# #{opt\ 782}# #{rest\ 783}# #{kw\ 784}# #{inits\ 785}# #{gensyms\ 786}# #{body\ 787}# #{alternate\ 788}#) (make-struct/no-tail (vector-ref %expanded-vtables 14) #{src\ 780}# #{req\ 781}# #{opt\ 782}# #{rest\ 783}# #{kw\ 784}# #{inits\ 785}# #{gensyms\ 786}# #{body\ 787}# #{alternate\ 788}#))) (#{make-let\ 268}# (lambda (#{src\ 798}# #{names\ 799}# #{gensyms\ 800}# #{vals\ 801}# #{body\ 802}#) (make-struct/no-tail (vector-ref %expanded-vtables 15) #{src\ 798}# #{names\ 799}# #{gensyms\ 800}# #{vals\ 801}# #{body\ 802}#))) (#{make-letrec\ 270}# (lambda (#{src\ 808}# #{in-order?\ 809}# #{names\ 810}# #{gensyms\ 811}# #{vals\ 812}# #{body\ 813}#) (make-struct/no-tail (vector-ref %expanded-vtables 16) #{src\ 808}# #{in-order?\ 809}# #{names\ 810}# #{gensyms\ 811}# #{vals\ 812}# #{body\ 813}#))) (#{make-dynlet\ 272}# (lambda (#{src\ 820}# #{fluids\ 821}# #{vals\ 822}# #{body\ 823}#) (make-struct/no-tail (vector-ref %expanded-vtables 17) #{src\ 820}# #{fluids\ 821}# #{vals\ 822}# #{body\ 823}#))) (#{lambda?\ 275}# (lambda (#{x\ 828}#) (if (struct? #{x\ 828}#) (eq? (struct-vtable #{x\ 828}#) (vector-ref %expanded-vtables 13)) #f))) (#{lambda-meta\ 277}# (lambda (#{x\ 832}#) (struct-ref #{x\ 832}# 1))) (#{set-lambda-meta!\ 279}# (lambda (#{x\ 834}# #{v\ 835}#) (struct-set! #{x\ 834}# 1 #{v\ 835}#))) (#{top-level-eval-hook\ 289}# (lambda (#{x\ 838}# #{mod\ 839}#) (primitive-eval #{x\ 838}#))) (#{local-eval-hook\ 291}# (lambda (#{x\ 842}# #{mod\ 843}#) (primitive-eval #{x\ 842}#))) (#{put-global-definition-hook\ 294}# (lambda (#{symbol\ 846}# #{type\ 847}# #{val\ 848}#) (module-define! (current-module) #{symbol\ 846}# (make-syntax-transformer #{symbol\ 846}# #{type\ 847}# #{val\ 848}#)))) (#{get-global-definition-hook\ 296}# (lambda (#{symbol\ 852}# #{module\ 853}#) (begin (if (if (not #{module\ 853}#) (current-module) #f) (warn "module system is booted, we should have a module" #{symbol\ 852}#)) (begin (let ((#{v\ 859}# (module-variable (if #{module\ 853}# (resolve-module (cdr #{module\ 853}#)) (current-module)) #{symbol\ 852}#))) (if #{v\ 859}# (if (variable-bound? #{v\ 859}#) (begin (let ((#{val\ 864}# (variable-ref #{v\ 859}#))) (if (macro? #{val\ 864}#) (if (macro-type #{val\ 864}#) (cons (macro-type #{val\ 864}#) (macro-binding #{val\ 864}#)) #f) #f))) #f) #f)))))) (#{decorate-source\ 298}# (lambda (#{e\ 868}# #{s\ 869}#) (begin (if (if (pair? #{e\ 868}#) #{s\ 869}# #f) (set-source-properties! #{e\ 868}# #{s\ 869}#)) #{e\ 868}#))) (#{maybe-name-value!\ 300}# (lambda (#{name\ 874}# #{val\ 875}#) (if (#{lambda?\ 275}# #{val\ 875}#) (begin (let ((#{meta\ 879}# (#{lambda-meta\ 277}# #{val\ 875}#))) (if (not (assq (quote name) #{meta\ 879}#)) (#{set-lambda-meta!\ 279}# #{val\ 875}# (cons (cons (quote name) #{name\ 874}#) #{meta\ 879}#)))))))) (#{build-void\ 302}# (lambda (#{source\ 880}#) (#{make-void\ 238}# #{source\ 880}#))) (#{build-application\ 304}# (lambda (#{source\ 882}# #{fun-exp\ 883}# #{arg-exps\ 884}#) (#{make-application\ 260}# #{source\ 882}# #{fun-exp\ 883}# #{arg-exps\ 884}#))) (#{build-conditional\ 306}# (lambda (#{source\ 888}# #{test-exp\ 889}# #{then-exp\ 890}# #{else-exp\ 891}#) (#{make-conditional\ 258}# #{source\ 888}# #{test-exp\ 889}# #{then-exp\ 890}# #{else-exp\ 891}#))) (#{build-dynlet\ 308}# (lambda (#{source\ 896}# #{fluids\ 897}# #{vals\ 898}# #{body\ 899}#) (#{make-dynlet\ 272}# #{source\ 896}# #{fluids\ 897}# #{vals\ 898}# #{body\ 899}#))) (#{build-lexical-reference\ 310}# (lambda (#{type\ 904}# #{source\ 905}# #{name\ 906}# #{var\ 907}#) (#{make-lexical-ref\ 244}# #{source\ 905}# #{name\ 906}# #{var\ 907}#))) (#{build-lexical-assignment\ 312}# (lambda (#{source\ 912}# #{name\ 913}# #{var\ 914}# #{exp\ 915}#) (begin (#{maybe-name-value!\ 300}# #{name\ 913}# #{exp\ 915}#) (#{make-lexical-set\ 246}# #{source\ 912}# #{name\ 913}# #{var\ 914}# #{exp\ 915}#)))) (#{analyze-variable\ 314}# (lambda (#{mod\ 920}# #{var\ 921}# #{modref-cont\ 922}# #{bare-cont\ 923}#) (if (not #{mod\ 920}#) (#{bare-cont\ 923}# #{var\ 921}#) (begin (let ((#{kind\ 930}# (car #{mod\ 920}#)) (#{mod\ 931}# (cdr #{mod\ 920}#))) (if (eqv? #{kind\ 930}# (quote public)) (#{modref-cont\ 922}# #{mod\ 931}# #{var\ 921}# #t) (if (eqv? #{kind\ 930}# (quote private)) (if (not (equal? #{mod\ 931}# (module-name (current-module)))) (#{modref-cont\ 922}# #{mod\ 931}# #{var\ 921}# #f) (#{bare-cont\ 923}# #{var\ 921}#)) (if (eqv? #{kind\ 930}# (quote bare)) (#{bare-cont\ 923}# #{var\ 921}#) (if (eqv? #{kind\ 930}# (quote hygiene)) (if (if (not (equal? #{mod\ 931}# (module-name (current-module)))) (module-variable (resolve-module #{mod\ 931}#) #{var\ 921}#) #f) (#{modref-cont\ 922}# #{mod\ 931}# #{var\ 921}# #f) (#{bare-cont\ 923}# #{var\ 921}#)) (syntax-violation #f "bad module kind" #{var\ 921}# #{mod\ 931}#)))))))))) (#{build-global-reference\ 316}# (lambda (#{source\ 939}# #{var\ 940}# #{mod\ 941}#) (#{analyze-variable\ 314}# #{mod\ 941}# #{var\ 940}# (lambda (#{mod\ 945}# #{var\ 946}# #{public?\ 947}#) (#{make-module-ref\ 248}# #{source\ 939}# #{mod\ 945}# #{var\ 946}# #{public?\ 947}#)) (lambda (#{var\ 951}#) (#{make-toplevel-ref\ 252}# #{source\ 939}# #{var\ 951}#))))) (#{build-global-assignment\ 318}# (lambda (#{source\ 953}# #{var\ 954}# #{exp\ 955}# #{mod\ 956}#) (begin (#{maybe-name-value!\ 300}# #{var\ 954}# #{exp\ 955}#) (#{analyze-variable\ 314}# #{mod\ 956}# #{var\ 954}# (lambda (#{mod\ 961}# #{var\ 962}# #{public?\ 963}#) (#{make-module-set\ 250}# #{source\ 953}# #{mod\ 961}# #{var\ 962}# #{public?\ 963}# #{exp\ 955}#)) (lambda (#{var\ 967}#) (#{make-toplevel-set\ 254}# #{source\ 953}# #{var\ 967}# #{exp\ 955}#)))))) (#{build-global-definition\ 320}# (lambda (#{source\ 969}# #{var\ 970}# #{exp\ 971}#) (begin (#{maybe-name-value!\ 300}# #{var\ 970}# #{exp\ 971}#) (#{make-toplevel-define\ 256}# #{source\ 969}# #{var\ 970}# #{exp\ 971}#)))) (#{build-simple-lambda\ 322}# (lambda (#{src\ 975}# #{req\ 976}# #{rest\ 977}# #{vars\ 978}# #{meta\ 979}# #{exp\ 980}#) (#{make-lambda\ 264}# #{src\ 975}# #{meta\ 979}# (#{make-lambda-case\ 266}# #{src\ 975}# #{req\ 976}# #f #{rest\ 977}# #f '() #{vars\ 978}# #{exp\ 980}# #f)))) (#{build-case-lambda\ 324}# (lambda (#{src\ 987}# #{meta\ 988}# #{body\ 989}#) (#{make-lambda\ 264}# #{src\ 987}# #{meta\ 988}# #{body\ 989}#))) (#{build-lambda-case\ 326}# (lambda (#{src\ 993}# #{req\ 994}# #{opt\ 995}# #{rest\ 996}# #{kw\ 997}# #{inits\ 998}# #{vars\ 999}# #{body\ 1000}# #{else-case\ 1001}#) (#{make-lambda-case\ 266}# #{src\ 993}# #{req\ 994}# #{opt\ 995}# #{rest\ 996}# #{kw\ 997}# #{inits\ 998}# #{vars\ 999}# #{body\ 1000}# #{else-case\ 1001}#))) (#{build-primref\ 328}# (lambda (#{src\ 1011}# #{name\ 1012}#) (if (equal? (module-name (current-module)) '(guile)) (#{make-toplevel-ref\ 252}# #{src\ 1011}# #{name\ 1012}#) (#{make-module-ref\ 248}# #{src\ 1011}# '(guile) #{name\ 1012}# #f)))) (#{build-data\ 330}# (lambda (#{src\ 1015}# #{exp\ 1016}#) (#{make-const\ 240}# #{src\ 1015}# #{exp\ 1016}#))) (#{build-sequence\ 332}# (lambda (#{src\ 1019}# #{exps\ 1020}#) (if (null? (cdr #{exps\ 1020}#)) (car #{exps\ 1020}#) (#{make-sequence\ 262}# #{src\ 1019}# #{exps\ 1020}#)))) (#{build-let\ 334}# (lambda (#{src\ 1023}# #{ids\ 1024}# #{vars\ 1025}# #{val-exps\ 1026}# #{body-exp\ 1027}#) (begin (for-each #{maybe-name-value!\ 300}# #{ids\ 1024}# #{val-exps\ 1026}#) (if (null? #{vars\ 1025}#) #{body-exp\ 1027}# (#{make-let\ 268}# #{src\ 1023}# #{ids\ 1024}# #{vars\ 1025}# #{val-exps\ 1026}# #{body-exp\ 1027}#))))) (#{build-named-let\ 336}# (lambda (#{src\ 1033}# #{ids\ 1034}# #{vars\ 1035}# #{val-exps\ 1036}# #{body-exp\ 1037}#) (begin (let ((#{f\ 1047}# (car #{vars\ 1035}#)) (#{f-name\ 1048}# (car #{ids\ 1034}#)) (#{vars\ 1049}# (cdr #{vars\ 1035}#)) (#{ids\ 1050}# (cdr #{ids\ 1034}#))) (begin (let ((#{proc\ 1052}# (#{build-simple-lambda\ 322}# #{src\ 1033}# #{ids\ 1050}# #f #{vars\ 1049}# '() #{body-exp\ 1037}#))) (begin (#{maybe-name-value!\ 300}# #{f-name\ 1048}# #{proc\ 1052}#) (for-each #{maybe-name-value!\ 300}# #{ids\ 1050}# #{val-exps\ 1036}#) (#{make-letrec\ 270}# #{src\ 1033}# #f (list #{f-name\ 1048}#) (list #{f\ 1047}#) (list #{proc\ 1052}#) (#{build-application\ 304}# #{src\ 1033}# (#{build-lexical-reference\ 310}# 'fun #{src\ 1033}# #{f-name\ 1048}# #{f\ 1047}#) #{val-exps\ 1036}#))))))))) (#{build-letrec\ 338}# (lambda (#{src\ 1053}# #{in-order?\ 1054}# #{ids\ 1055}# #{vars\ 1056}# #{val-exps\ 1057}# #{body-exp\ 1058}#) (if (null? #{vars\ 1056}#) #{body-exp\ 1058}# (begin (for-each #{maybe-name-value!\ 300}# #{ids\ 1055}# #{val-exps\ 1057}#) (#{make-letrec\ 270}# #{src\ 1053}# #{in-order?\ 1054}# #{ids\ 1055}# #{vars\ 1056}# #{val-exps\ 1057}# #{body-exp\ 1058}#))))) (#{make-syntax-object\ 342}# (lambda (#{expression\ 1065}# #{wrap\ 1066}# #{module\ 1067}#) (vector 'syntax-object #{expression\ 1065}# #{wrap\ 1066}# #{module\ 1067}#))) (#{syntax-object?\ 344}# (lambda (#{x\ 1071}#) (if (vector? #{x\ 1071}#) (if (= (vector-length #{x\ 1071}#) 4) (eq? (vector-ref #{x\ 1071}# 0) 'syntax-object) #f) #f))) (#{syntax-object-expression\ 346}# (lambda (#{x\ 1076}#) (vector-ref #{x\ 1076}# 1))) (#{syntax-object-wrap\ 348}# (lambda (#{x\ 1078}#) (vector-ref #{x\ 1078}# 2))) (#{syntax-object-module\ 350}# (lambda (#{x\ 1080}#) (vector-ref #{x\ 1080}# 3))) (#{source-annotation\ 359}# (lambda (#{x\ 1094}#) (if (#{syntax-object?\ 344}# #{x\ 1094}#) (#{source-annotation\ 359}# (#{syntax-object-expression\ 346}# #{x\ 1094}#)) (if (pair? #{x\ 1094}#) (begin (let ((#{props\ 1101}# (source-properties #{x\ 1094}#))) (if (pair? #{props\ 1101}#) #{props\ 1101}# #f))) #f)))) (#{extend-env\ 368}# (lambda (#{labels\ 1103}# #{bindings\ 1104}# #{r\ 1105}#) (if (null? #{labels\ 1103}#) #{r\ 1105}# (#{extend-env\ 368}# (cdr #{labels\ 1103}#) (cdr #{bindings\ 1104}#) (cons (cons (car #{labels\ 1103}#) (car #{bindings\ 1104}#)) #{r\ 1105}#))))) (#{extend-var-env\ 370}# (lambda (#{labels\ 1109}# #{vars\ 1110}# #{r\ 1111}#) (if (null? #{labels\ 1109}#) #{r\ 1111}# (#{extend-var-env\ 370}# (cdr #{labels\ 1109}#) (cdr #{vars\ 1110}#) (cons (cons (car #{labels\ 1109}#) (cons (quote lexical) (car #{vars\ 1110}#))) #{r\ 1111}#))))) (#{macros-only-env\ 372}# (lambda (#{r\ 1116}#) (if (null? #{r\ 1116}#) '() (begin (let ((#{a\ 1119}# (car #{r\ 1116}#))) (if (eq? (car (cdr #{a\ 1119}#)) (quote macro)) (cons #{a\ 1119}# (#{macros-only-env\ 372}# (cdr #{r\ 1116}#))) (#{macros-only-env\ 372}# (cdr #{r\ 1116}#)))))))) (#{lookup\ 374}# (lambda (#{x\ 1120}# #{r\ 1121}# #{mod\ 1122}#) (begin (let ((#{t\ 1128}# (assq #{x\ 1120}# #{r\ 1121}#))) (if #{t\ 1128}# (cdr #{t\ 1128}#) (if (symbol? #{x\ 1120}#) (begin (let ((#{t\ 1134}# (#{get-global-definition-hook\ 296}# #{x\ 1120}# #{mod\ 1122}#))) (if #{t\ 1134}# #{t\ 1134}# (quote (global))))) '(displaced-lexical))))))) (#{global-extend\ 376}# (lambda (#{type\ 1139}# #{sym\ 1140}# #{val\ 1141}#) (#{put-global-definition-hook\ 294}# #{sym\ 1140}# #{type\ 1139}# #{val\ 1141}#))) (#{nonsymbol-id?\ 378}# (lambda (#{x\ 1145}#) (if (#{syntax-object?\ 344}# #{x\ 1145}#) (symbol? (#{syntax-object-expression\ 346}# #{x\ 1145}#)) #f))) (#{id?\ 380}# (lambda (#{x\ 1149}#) (if (symbol? #{x\ 1149}#) #t (if (#{syntax-object?\ 344}# #{x\ 1149}#) (symbol? (#{syntax-object-expression\ 346}# #{x\ 1149}#)) #f)))) (#{id-sym-name&marks\ 383}# (lambda (#{x\ 1156}# #{w\ 1157}#) (if (#{syntax-object?\ 344}# #{x\ 1156}#) (values (#{syntax-object-expression\ 346}# #{x\ 1156}#) (#{join-marks\ 433}# (#{wrap-marks\ 387}# #{w\ 1157}#) (#{wrap-marks\ 387}# (#{syntax-object-wrap\ 348}# #{x\ 1156}#)))) (values #{x\ 1156}# (#{wrap-marks\ 387}# #{w\ 1157}#))))) (#{gen-label\ 396}# (lambda () (symbol->string (gensym "i")))) (#{gen-labels\ 398}# (lambda (#{ls\ 1160}#) (if (null? #{ls\ 1160}#) '() (cons (#{gen-label\ 396}#) (#{gen-labels\ 398}# (cdr #{ls\ 1160}#)))))) (#{make-ribcage\ 401}# (lambda (#{symnames\ 1162}# #{marks\ 1163}# #{labels\ 1164}#) (vector 'ribcage #{symnames\ 1162}# #{marks\ 1163}# #{labels\ 1164}#))) (#{ribcage-symnames\ 405}# (lambda (#{x\ 1173}#) (vector-ref #{x\ 1173}# 1))) (#{ribcage-marks\ 407}# (lambda (#{x\ 1175}#) (vector-ref #{x\ 1175}# 2))) (#{ribcage-labels\ 409}# (lambda (#{x\ 1177}#) (vector-ref #{x\ 1177}# 3))) (#{set-ribcage-symnames!\ 411}# (lambda (#{x\ 1179}# #{update\ 1180}#) (vector-set! #{x\ 1179}# 1 #{update\ 1180}#))) (#{set-ribcage-marks!\ 413}# (lambda (#{x\ 1183}# #{update\ 1184}#) (vector-set! #{x\ 1183}# 2 #{update\ 1184}#))) (#{set-ribcage-labels!\ 415}# (lambda (#{x\ 1187}# #{update\ 1188}#) (vector-set! #{x\ 1187}# 3 #{update\ 1188}#))) (#{anti-mark\ 421}# (lambda (#{w\ 1191}#) (#{make-wrap\ 385}# (cons #f (#{wrap-marks\ 387}# #{w\ 1191}#)) (cons 'shift (#{wrap-subst\ 389}# #{w\ 1191}#))))) (#{extend-ribcage!\ 425}# (lambda (#{ribcage\ 1194}# #{id\ 1195}# #{label\ 1196}#) (begin (#{set-ribcage-symnames!\ 411}# #{ribcage\ 1194}# (cons (#{syntax-object-expression\ 346}# #{id\ 1195}#) (#{ribcage-symnames\ 405}# #{ribcage\ 1194}#))) (#{set-ribcage-marks!\ 413}# #{ribcage\ 1194}# (cons (#{wrap-marks\ 387}# (#{syntax-object-wrap\ 348}# #{id\ 1195}#)) (#{ribcage-marks\ 407}# #{ribcage\ 1194}#))) (#{set-ribcage-labels!\ 415}# #{ribcage\ 1194}# (cons #{label\ 1196}# (#{ribcage-labels\ 409}# #{ribcage\ 1194}#)))))) (#{make-binding-wrap\ 427}# (lambda (#{ids\ 1200}# #{labels\ 1201}# #{w\ 1202}#) (if (null? #{ids\ 1200}#) #{w\ 1202}# (#{make-wrap\ 385}# (#{wrap-marks\ 387}# #{w\ 1202}#) (cons (begin (let ((#{labelvec\ 1207}# (list->vector #{labels\ 1201}#))) (begin (let ((#{n\ 1209}# (vector-length #{labelvec\ 1207}#))) (begin (let ((#{symnamevec\ 1212}# (make-vector #{n\ 1209}#)) (#{marksvec\ 1213}# (make-vector #{n\ 1209}#))) (begin (letrec* ((#{f\ 1217}# (lambda (#{ids\ 1218}# #{i\ 1219}#) (if (not (null? #{ids\ 1218}#)) (call-with-values (lambda () (#{id-sym-name&marks\ 383}# (car #{ids\ 1218}#) #{w\ 1202}#)) (lambda (#{symname\ 1220}# #{marks\ 1221}#) (begin (vector-set! #{symnamevec\ 1212}# #{i\ 1219}# #{symname\ 1220}#) (vector-set! #{marksvec\ 1213}# #{i\ 1219}# #{marks\ 1221}#) (#{f\ 1217}# (cdr #{ids\ 1218}#) (#{fx+\ 281}# #{i\ 1219}# 1))))))))) (begin (#{f\ 1217}# #{ids\ 1200}# 0))) (#{make-ribcage\ 401}# #{symnamevec\ 1212}# #{marksvec\ 1213}# #{labelvec\ 1207}#)))))))) (#{wrap-subst\ 389}# #{w\ 1202}#)))))) (#{smart-append\ 429}# (lambda (#{m1\ 1224}# #{m2\ 1225}#) (if (null? #{m2\ 1225}#) #{m1\ 1224}# (append #{m1\ 1224}# #{m2\ 1225}#)))) (#{join-wraps\ 431}# (lambda (#{w1\ 1228}# #{w2\ 1229}#) (begin (let ((#{m1\ 1234}# (#{wrap-marks\ 387}# #{w1\ 1228}#)) (#{s1\ 1235}# (#{wrap-subst\ 389}# #{w1\ 1228}#))) (if (null? #{m1\ 1234}#) (if (null? #{s1\ 1235}#) #{w2\ 1229}# (#{make-wrap\ 385}# (#{wrap-marks\ 387}# #{w2\ 1229}#) (#{smart-append\ 429}# #{s1\ 1235}# (#{wrap-subst\ 389}# #{w2\ 1229}#)))) (#{make-wrap\ 385}# (#{smart-append\ 429}# #{m1\ 1234}# (#{wrap-marks\ 387}# #{w2\ 1229}#)) (#{smart-append\ 429}# #{s1\ 1235}# (#{wrap-subst\ 389}# #{w2\ 1229}#)))))))) (#{join-marks\ 433}# (lambda (#{m1\ 1236}# #{m2\ 1237}#) (#{smart-append\ 429}# #{m1\ 1236}# #{m2\ 1237}#))) (#{same-marks?\ 435}# (lambda (#{x\ 1240}# #{y\ 1241}#) (begin (let ((#{t\ 1246}# (eq? #{x\ 1240}# #{y\ 1241}#))) (if #{t\ 1246}# #{t\ 1246}# (if (not (null? #{x\ 1240}#)) (if (not (null? #{y\ 1241}#)) (if (eq? (car #{x\ 1240}#) (car #{y\ 1241}#)) (#{same-marks?\ 435}# (cdr #{x\ 1240}#) (cdr #{y\ 1241}#)) #f) #f) #f)))))) (#{id-var-name\ 437}# (lambda (#{id\ 1252}# #{w\ 1253}#) (letrec* ((#{search\ 1258}# (lambda (#{sym\ 1274}# #{subst\ 1275}# #{marks\ 1276}#) (if (null? #{subst\ 1275}#) (values #f #{marks\ 1276}#) (begin (let ((#{fst\ 1281}# (car #{subst\ 1275}#))) (if (eq? #{fst\ 1281}# (quote shift)) (#{search\ 1258}# #{sym\ 1274}# (cdr #{subst\ 1275}#) (cdr #{marks\ 1276}#)) (begin (let ((#{symnames\ 1283}# (#{ribcage-symnames\ 405}# #{fst\ 1281}#))) (if (vector? #{symnames\ 1283}#) (#{search-vector-rib\ 1262}# #{sym\ 1274}# #{subst\ 1275}# #{marks\ 1276}# #{symnames\ 1283}# #{fst\ 1281}#) (#{search-list-rib\ 1260}# #{sym\ 1274}# #{subst\ 1275}# #{marks\ 1276}# #{symnames\ 1283}# #{fst\ 1281}#)))))))))) (#{search-list-rib\ 1260}# (lambda (#{sym\ 1284}# #{subst\ 1285}# #{marks\ 1286}# #{symnames\ 1287}# #{ribcage\ 1288}#) (letrec* ((#{f\ 1297}# (lambda (#{symnames\ 1298}# #{i\ 1299}#) (if (null? #{symnames\ 1298}#) (#{search\ 1258}# #{sym\ 1284}# (cdr #{subst\ 1285}#) #{marks\ 1286}#) (if (if (eq? (car #{symnames\ 1298}#) #{sym\ 1284}#) (#{same-marks?\ 435}# #{marks\ 1286}# (list-ref (#{ribcage-marks\ 407}# #{ribcage\ 1288}#) #{i\ 1299}#)) #f) (values (list-ref (#{ribcage-labels\ 409}# #{ribcage\ 1288}#) #{i\ 1299}#) #{marks\ 1286}#) (#{f\ 1297}# (cdr #{symnames\ 1298}#) (#{fx+\ 281}# #{i\ 1299}# 1))))))) (begin (#{f\ 1297}# #{symnames\ 1287}# 0))))) (#{search-vector-rib\ 1262}# (lambda (#{sym\ 1307}# #{subst\ 1308}# #{marks\ 1309}# #{symnames\ 1310}# #{ribcage\ 1311}#) (begin (let ((#{n\ 1318}# (vector-length #{symnames\ 1310}#))) (letrec* ((#{f\ 1321}# (lambda (#{i\ 1322}#) (if (#{fx=\ 285}# #{i\ 1322}# #{n\ 1318}#) (#{search\ 1258}# #{sym\ 1307}# (cdr #{subst\ 1308}#) #{marks\ 1309}#) (if (if (eq? (vector-ref #{symnames\ 1310}# #{i\ 1322}#) #{sym\ 1307}#) (#{same-marks?\ 435}# #{marks\ 1309}# (vector-ref (#{ribcage-marks\ 407}# #{ribcage\ 1311}#) #{i\ 1322}#)) #f) (values (vector-ref (#{ribcage-labels\ 409}# #{ribcage\ 1311}#) #{i\ 1322}#) #{marks\ 1309}#) (#{f\ 1321}# (#{fx+\ 281}# #{i\ 1322}# 1))))))) (begin (#{f\ 1321}# 0)))))))) (begin (if (symbol? #{id\ 1252}#) (begin (let ((#{t\ 1332}# (call-with-values (lambda () (#{search\ 1258}# #{id\ 1252}# (#{wrap-subst\ 389}# #{w\ 1253}#) (#{wrap-marks\ 387}# #{w\ 1253}#))) (lambda (#{x\ 1334}# . #{ignore\ 1335}#) #{x\ 1334}#)))) (if #{t\ 1332}# #{t\ 1332}# #{id\ 1252}#))) (if (#{syntax-object?\ 344}# #{id\ 1252}#) (begin (let ((#{id\ 1343}# (#{syntax-object-expression\ 346}# #{id\ 1252}#)) (#{w1\ 1344}# (#{syntax-object-wrap\ 348}# #{id\ 1252}#))) (begin (let ((#{marks\ 1346}# (#{join-marks\ 433}# (#{wrap-marks\ 387}# #{w\ 1253}#) (#{wrap-marks\ 387}# #{w1\ 1344}#)))) (call-with-values (lambda () (#{search\ 1258}# #{id\ 1343}# (#{wrap-subst\ 389}# #{w\ 1253}#) #{marks\ 1346}#)) (lambda (#{new-id\ 1347}# #{marks\ 1348}#) (begin (let ((#{t\ 1353}# #{new-id\ 1347}#)) (if #{t\ 1353}# #{t\ 1353}# (begin (let ((#{t\ 1356}# (call-with-values (lambda () (#{search\ 1258}# #{id\ 1343}# (#{wrap-subst\ 389}# #{w1\ 1344}#) #{marks\ 1348}#)) (lambda (#{x\ 1358}# . #{ignore\ 1359}#) #{x\ 1358}#)))) (if #{t\ 1356}# #{t\ 1356}# #{id\ 1343}#)))))))))))) (syntax-violation 'id-var-name "invalid id" #{id\ 1252}#))))))) (#{free-id=?\ 439}# (lambda (#{i\ 1364}# #{j\ 1365}#) (if (eq? (begin (let ((#{x\ 1371}# #{i\ 1364}#)) (if (#{syntax-object?\ 344}# #{x\ 1371}#) (#{syntax-object-expression\ 346}# #{x\ 1371}#) #{x\ 1371}#))) (begin (let ((#{x\ 1374}# #{j\ 1365}#)) (if (#{syntax-object?\ 344}# #{x\ 1374}#) (#{syntax-object-expression\ 346}# #{x\ 1374}#) #{x\ 1374}#)))) (eq? (#{id-var-name\ 437}# #{i\ 1364}# (quote (()))) (#{id-var-name\ 437}# #{j\ 1365}# (quote (())))) #f))) (#{bound-id=?\ 441}# (lambda (#{i\ 1378}# #{j\ 1379}#) (if (if (#{syntax-object?\ 344}# #{i\ 1378}#) (#{syntax-object?\ 344}# #{j\ 1379}#) #f) (if (eq? (#{syntax-object-expression\ 346}# #{i\ 1378}#) (#{syntax-object-expression\ 346}# #{j\ 1379}#)) (#{same-marks?\ 435}# (#{wrap-marks\ 387}# (#{syntax-object-wrap\ 348}# #{i\ 1378}#)) (#{wrap-marks\ 387}# (#{syntax-object-wrap\ 348}# #{j\ 1379}#))) #f) (eq? #{i\ 1378}# #{j\ 1379}#)))) (#{valid-bound-ids?\ 443}# (lambda (#{ids\ 1386}#) (if (letrec* ((#{all-ids?\ 1391}# (lambda (#{ids\ 1392}#) (begin (let ((#{t\ 1395}# (null? #{ids\ 1392}#))) (if #{t\ 1395}# #{t\ 1395}# (if (#{id?\ 380}# (car #{ids\ 1392}#)) (#{all-ids?\ 1391}# (cdr #{ids\ 1392}#)) #f))))))) (begin (#{all-ids?\ 1391}# #{ids\ 1386}#))) (#{distinct-bound-ids?\ 445}# #{ids\ 1386}#) #f))) (#{distinct-bound-ids?\ 445}# (lambda (#{ids\ 1400}#) (letrec* ((#{distinct?\ 1404}# (lambda (#{ids\ 1405}#) (begin (let ((#{t\ 1408}# (null? #{ids\ 1405}#))) (if #{t\ 1408}# #{t\ 1408}# (if (not (#{bound-id-member?\ 447}# (car #{ids\ 1405}#) (cdr #{ids\ 1405}#))) (#{distinct?\ 1404}# (cdr #{ids\ 1405}#)) #f))))))) (begin (#{distinct?\ 1404}# #{ids\ 1400}#))))) (#{bound-id-member?\ 447}# (lambda (#{x\ 1412}# #{list\ 1413}#) (if (not (null? #{list\ 1413}#)) (begin (let ((#{t\ 1420}# (#{bound-id=?\ 441}# #{x\ 1412}# (car #{list\ 1413}#)))) (if #{t\ 1420}# #{t\ 1420}# (#{bound-id-member?\ 447}# #{x\ 1412}# (cdr #{list\ 1413}#))))) #f))) (#{wrap\ 449}# (lambda (#{x\ 1422}# #{w\ 1423}# #{defmod\ 1424}#) (if (if (null? (#{wrap-marks\ 387}# #{w\ 1423}#)) (null? (#{wrap-subst\ 389}# #{w\ 1423}#)) #f) #{x\ 1422}# (if (#{syntax-object?\ 344}# #{x\ 1422}#) (#{make-syntax-object\ 342}# (#{syntax-object-expression\ 346}# #{x\ 1422}#) (#{join-wraps\ 431}# #{w\ 1423}# (#{syntax-object-wrap\ 348}# #{x\ 1422}#)) (#{syntax-object-module\ 350}# #{x\ 1422}#)) (if (null? #{x\ 1422}#) #{x\ 1422}# (#{make-syntax-object\ 342}# #{x\ 1422}# #{w\ 1423}# #{defmod\ 1424}#)))))) (#{source-wrap\ 451}# (lambda (#{x\ 1437}# #{w\ 1438}# #{s\ 1439}# #{defmod\ 1440}#) (#{wrap\ 449}# (#{decorate-source\ 298}# #{x\ 1437}# #{s\ 1439}#) #{w\ 1438}# #{defmod\ 1440}#))) (#{chi-sequence\ 453}# (lambda (#{body\ 1445}# #{r\ 1446}# #{w\ 1447}# #{s\ 1448}# #{mod\ 1449}#) (#{build-sequence\ 332}# #{s\ 1448}# (letrec* ((#{dobody\ 1460}# (lambda (#{body\ 1461}# #{r\ 1462}# #{w\ 1463}# #{mod\ 1464}#) (if (null? #{body\ 1461}#) '() (begin (let ((#{first\ 1466}# (#{chi\ 465}# (car #{body\ 1461}#) #{r\ 1462}# #{w\ 1463}# #{mod\ 1464}#))) (cons #{first\ 1466}# (#{dobody\ 1460}# (cdr #{body\ 1461}#) #{r\ 1462}# #{w\ 1463}# #{mod\ 1464}#)))))))) (begin (#{dobody\ 1460}# #{body\ 1445}# #{r\ 1446}# #{w\ 1447}# #{mod\ 1449}#)))))) (#{chi-top-sequence\ 455}# (lambda (#{body\ 1467}# #{r\ 1468}# #{w\ 1469}# #{s\ 1470}# #{m\ 1471}# #{esew\ 1472}# #{mod\ 1473}#) (#{build-sequence\ 332}# #{s\ 1470}# (letrec* ((#{dobody\ 1489}# (lambda (#{body\ 1490}# #{r\ 1491}# #{w\ 1492}# #{m\ 1493}# #{esew\ 1494}# #{mod\ 1495}# #{out\ 1496}#) (if (null? #{body\ 1490}#) (reverse #{out\ 1496}#) (#{dobody\ 1489}# (cdr #{body\ 1490}#) #{r\ 1491}# #{w\ 1492}# #{m\ 1493}# #{esew\ 1494}# #{mod\ 1495}# (cons (#{chi-top\ 463}# (car #{body\ 1490}#) #{r\ 1491}# #{w\ 1492}# #{m\ 1493}# #{esew\ 1494}# #{mod\ 1495}#) #{out\ 1496}#)))))) (begin (#{dobody\ 1489}# #{body\ 1467}# #{r\ 1468}# #{w\ 1469}# #{m\ 1471}# #{esew\ 1472}# #{mod\ 1473}# '())))))) (#{chi-install-global\ 457}# (lambda (#{name\ 1497}# #{e\ 1498}#) (#{build-global-definition\ 320}# #f #{name\ 1497}# (#{build-application\ 304}# #f (#{build-primref\ 328}# #f 'make-syntax-transformer) (list (#{build-data\ 330}# #f #{name\ 1497}#) (#{build-data\ 330}# #f (quote macro)) #{e\ 1498}#))))) (#{chi-when-list\ 459}# (lambda (#{e\ 1506}# #{when-list\ 1507}# #{w\ 1508}#) (letrec* ((#{f\ 1515}# (lambda (#{when-list\ 1516}# #{situations\ 1517}#) (if (null? #{when-list\ 1516}#) #{situations\ 1517}# (#{f\ 1515}# (cdr #{when-list\ 1516}#) (cons (begin (let ((#{x\ 1519}# (car #{when-list\ 1516}#))) (if (#{free-id=?\ 439}# #{x\ 1519}# '#(syntax-object compile ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1518")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1512" "i1513" "i1514")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1509" "i1510" "i1511")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))) 'compile (if (#{free-id=?\ 439}# #{x\ 1519}# '#(syntax-object load ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1518")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1512" "i1513" "i1514")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1509" "i1510" "i1511")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))) 'load (if (#{free-id=?\ 439}# #{x\ 1519}# '#(syntax-object eval ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1518")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1512" "i1513" "i1514")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1509" "i1510" "i1511")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))) 'eval (if (#{free-id=?\ 439}# #{x\ 1519}# '#(syntax-object expand ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1518")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1512" "i1513" "i1514")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1509" "i1510" "i1511")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))) 'expand (syntax-violation 'eval-when "invalid situation" #{e\ 1506}# (#{wrap\ 449}# #{x\ 1519}# #{w\ 1508}# #f)))))))) #{situations\ 1517}#)))))) (begin (#{f\ 1515}# #{when-list\ 1507}# (quote ())))))) (#{syntax-type\ 461}# (lambda (#{e\ 1529}# #{r\ 1530}# #{w\ 1531}# #{s\ 1532}# #{rib\ 1533}# #{mod\ 1534}# #{for-car?\ 1535}#) (if (symbol? #{e\ 1529}#) (begin (let ((#{n\ 1547}# (#{id-var-name\ 437}# #{e\ 1529}# #{w\ 1531}#))) (begin (let ((#{b\ 1549}# (#{lookup\ 374}# #{n\ 1547}# #{r\ 1530}# #{mod\ 1534}#))) (begin (let ((#{type\ 1551}# (#{binding-type\ 363}# #{b\ 1549}#))) (if (eqv? #{type\ 1551}# (quote lexical)) (values #{type\ 1551}# (#{binding-value\ 365}# #{b\ 1549}#) #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (if (eqv? #{type\ 1551}# (quote global)) (values #{type\ 1551}# #{n\ 1547}# #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (if (eqv? #{type\ 1551}# (quote macro)) (if #{for-car?\ 1535}# (values #{type\ 1551}# (#{binding-value\ 365}# #{b\ 1549}#) #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (#{syntax-type\ 461}# (#{chi-macro\ 471}# (#{binding-value\ 365}# #{b\ 1549}#) #{e\ 1529}# #{r\ 1530}# #{w\ 1531}# #{s\ 1532}# #{rib\ 1533}# #{mod\ 1534}#) #{r\ 1530}# '(()) #{s\ 1532}# #{rib\ 1533}# #{mod\ 1534}# #f)) (values #{type\ 1551}# (#{binding-value\ 365}# #{b\ 1549}#) #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#)))))))))) (if (pair? #{e\ 1529}#) (begin (let ((#{first\ 1560}# (car #{e\ 1529}#))) (call-with-values (lambda () (#{syntax-type\ 461}# #{first\ 1560}# #{r\ 1530}# #{w\ 1531}# #{s\ 1532}# #{rib\ 1533}# #{mod\ 1534}# #t)) (lambda (#{ftype\ 1561}# #{fval\ 1562}# #{fe\ 1563}# #{fw\ 1564}# #{fs\ 1565}# #{fmod\ 1566}#) (if (eqv? #{ftype\ 1561}# (quote lexical)) (values 'lexical-call #{fval\ 1562}# #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (if (eqv? #{ftype\ 1561}# (quote global)) (values 'global-call (#{make-syntax-object\ 342}# #{fval\ 1562}# #{w\ 1531}# #{fmod\ 1566}#) #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (if (eqv? #{ftype\ 1561}# (quote macro)) (#{syntax-type\ 461}# (#{chi-macro\ 471}# #{fval\ 1562}# #{e\ 1529}# #{r\ 1530}# #{w\ 1531}# #{s\ 1532}# #{rib\ 1533}# #{mod\ 1534}#) #{r\ 1530}# '(()) #{s\ 1532}# #{rib\ 1533}# #{mod\ 1534}# #{for-car?\ 1535}#) (if (eqv? #{ftype\ 1561}# (quote module-ref)) (call-with-values (lambda () (#{fval\ 1562}# #{e\ 1529}# #{r\ 1530}# #{w\ 1531}#)) (lambda (#{e\ 1578}# #{r\ 1579}# #{w\ 1580}# #{s\ 1581}# #{mod\ 1582}#) (#{syntax-type\ 461}# #{e\ 1578}# #{r\ 1579}# #{w\ 1580}# #{s\ 1581}# #{rib\ 1533}# #{mod\ 1582}# #{for-car?\ 1535}#))) (if (eqv? #{ftype\ 1561}# (quote core)) (values 'core-form #{fval\ 1562}# #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (if (eqv? #{ftype\ 1561}# 'local-syntax) (values 'local-syntax-form #{fval\ 1562}# #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (if (eqv? #{ftype\ 1561}# (quote begin)) (values 'begin-form #f #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (if (eqv? #{ftype\ 1561}# 'eval-when) (values 'eval-when-form #f #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (if (eqv? #{ftype\ 1561}# 'define) (let ((#{tmp\ 1593}# #{e\ 1529}#)) (let ((#{tmp\ 1594}# ($sc-dispatch #{tmp\ 1593}# '(_ any any)))) (if (if #{tmp\ 1594}# (@apply (lambda (#{name\ 1597}# #{val\ 1598}#) (#{id?\ 380}# #{name\ 1597}#)) #{tmp\ 1594}#) #f) (@apply (lambda (#{name\ 1601}# #{val\ 1602}#) (values 'define-form #{name\ 1601}# #{val\ 1602}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#)) #{tmp\ 1594}#) (let ((#{tmp\ 1603}# ($sc-dispatch #{tmp\ 1593}# '(_ (any . any) any . each-any)))) (if (if #{tmp\ 1603}# (@apply (lambda (#{name\ 1608}# #{args\ 1609}# #{e1\ 1610}# #{e2\ 1611}#) (if (#{id?\ 380}# #{name\ 1608}#) (#{valid-bound-ids?\ 443}# (#{lambda-var-list\ 495}# #{args\ 1609}#)) #f)) #{tmp\ 1603}#) #f) (@apply (lambda (#{name\ 1618}# #{args\ 1619}# #{e1\ 1620}# #{e2\ 1621}#) (values 'define-form (#{wrap\ 449}# #{name\ 1618}# #{w\ 1531}# #{mod\ 1534}#) (#{decorate-source\ 298}# (cons '#(syntax-object lambda ((top) #(ribcage #(name args e1 e2) #((top) (top) (top) (top)) #("i1614" "i1615" "i1616" "i1617")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1567" "i1568" "i1569" "i1570" "i1571" "i1572")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1559")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1536" "i1537" "i1538" "i1539" "i1540" "i1541" "i1542")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)) (#{wrap\ 449}# (cons #{args\ 1619}# (cons #{e1\ 1620}# #{e2\ 1621}#)) #{w\ 1531}# #{mod\ 1534}#)) #{s\ 1532}#) '(()) #{s\ 1532}# #{mod\ 1534}#)) #{tmp\ 1603}#) (let ((#{tmp\ 1624}# ($sc-dispatch #{tmp\ 1593}# '(_ any)))) (if (if #{tmp\ 1624}# (@apply (lambda (#{name\ 1626}#) (#{id?\ 380}# #{name\ 1626}#)) #{tmp\ 1624}#) #f) (@apply (lambda (#{name\ 1628}#) (values 'define-form (#{wrap\ 449}# #{name\ 1628}# #{w\ 1531}# #{mod\ 1534}#) '(#(syntax-object if ((top) #(ribcage #(name) #((top)) #("i1627")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1567" "i1568" "i1569" "i1570" "i1571" "i1572")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1559")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1536" "i1537" "i1538" "i1539" "i1540" "i1541" "i1542")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)) #(syntax-object #f ((top) #(ribcage #(name) #((top)) #("i1627")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1567" "i1568" "i1569" "i1570" "i1571" "i1572")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1559")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1536" "i1537" "i1538" "i1539" "i1540" "i1541" "i1542")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)) #(syntax-object #f ((top) #(ribcage #(name) #((top)) #("i1627")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1567" "i1568" "i1569" "i1570" "i1571" "i1572")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1559")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1536" "i1537" "i1538" "i1539" "i1540" "i1541" "i1542")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))) '(()) #{s\ 1532}# #{mod\ 1534}#)) #{tmp\ 1624}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1593}#)))))))) (if (eqv? #{ftype\ 1561}# 'define-syntax) (let ((#{tmp\ 1631}# #{e\ 1529}#)) (let ((#{tmp\ 1632}# ($sc-dispatch #{tmp\ 1631}# '(_ any any)))) (if (if #{tmp\ 1632}# (@apply (lambda (#{name\ 1635}# #{val\ 1636}#) (#{id?\ 380}# #{name\ 1635}#)) #{tmp\ 1632}#) #f) (@apply (lambda (#{name\ 1639}# #{val\ 1640}#) (values 'define-syntax-form #{name\ 1639}# #{val\ 1640}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#)) #{tmp\ 1632}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1631}#)))) (values 'call #f #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#))))))))))))))) (if (#{syntax-object?\ 344}# #{e\ 1529}#) (#{syntax-type\ 461}# (#{syntax-object-expression\ 346}# #{e\ 1529}#) #{r\ 1530}# (#{join-wraps\ 431}# #{w\ 1531}# (#{syntax-object-wrap\ 348}# #{e\ 1529}#)) (begin (let ((#{t\ 1646}# (#{source-annotation\ 359}# #{e\ 1529}#))) (if #{t\ 1646}# #{t\ 1646}# #{s\ 1532}#))) #{rib\ 1533}# (begin (let ((#{t\ 1650}# (#{syntax-object-module\ 350}# #{e\ 1529}#))) (if #{t\ 1650}# #{t\ 1650}# #{mod\ 1534}#))) #{for-car?\ 1535}#) (if (self-evaluating? #{e\ 1529}#) (values 'constant #f #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#) (values 'other #f #{e\ 1529}# #{w\ 1531}# #{s\ 1532}# #{mod\ 1534}#))))))) (#{chi-top\ 463}# (lambda (#{e\ 1655}# #{r\ 1656}# #{w\ 1657}# #{m\ 1658}# #{esew\ 1659}# #{mod\ 1660}#) (call-with-values (lambda () (#{syntax-type\ 461}# #{e\ 1655}# #{r\ 1656}# #{w\ 1657}# (#{source-annotation\ 359}# #{e\ 1655}#) #f #{mod\ 1660}# #f)) (lambda (#{type\ 1681}# #{value\ 1682}# #{e\ 1683}# #{w\ 1684}# #{s\ 1685}# #{mod\ 1686}#) (if (eqv? #{type\ 1681}# (quote begin-form)) (let ((#{tmp\ 1694}# #{e\ 1683}#)) (let ((#{tmp\ 1695}# ($sc-dispatch #{tmp\ 1694}# (quote (_))))) (if #{tmp\ 1695}# (@apply (lambda () (#{chi-void\ 479}#)) #{tmp\ 1695}#) (let ((#{tmp\ 1696}# ($sc-dispatch #{tmp\ 1694}# '(_ any . each-any)))) (if #{tmp\ 1696}# (@apply (lambda (#{e1\ 1699}# #{e2\ 1700}#) (#{chi-top-sequence\ 455}# (cons #{e1\ 1699}# #{e2\ 1700}#) #{r\ 1656}# #{w\ 1684}# #{s\ 1685}# #{m\ 1658}# #{esew\ 1659}# #{mod\ 1686}#)) #{tmp\ 1696}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1694}#)))))) (if (eqv? #{type\ 1681}# (quote local-syntax-form)) (#{chi-local-syntax\ 475}# #{value\ 1682}# #{e\ 1683}# #{r\ 1656}# #{w\ 1684}# #{s\ 1685}# #{mod\ 1686}# (lambda (#{body\ 1703}# #{r\ 1704}# #{w\ 1705}# #{s\ 1706}# #{mod\ 1707}#) (#{chi-top-sequence\ 455}# #{body\ 1703}# #{r\ 1704}# #{w\ 1705}# #{s\ 1706}# #{m\ 1658}# #{esew\ 1659}# #{mod\ 1707}#))) (if (eqv? #{type\ 1681}# (quote eval-when-form)) (let ((#{tmp\ 1714}# #{e\ 1683}#)) (let ((#{tmp\ 1715}# ($sc-dispatch #{tmp\ 1714}# '(_ each-any any . each-any)))) (if #{tmp\ 1715}# (@apply (lambda (#{x\ 1719}# #{e1\ 1720}# #{e2\ 1721}#) (begin (let ((#{when-list\ 1724}# (#{chi-when-list\ 459}# #{e\ 1683}# #{x\ 1719}# #{w\ 1684}#)) (#{body\ 1725}# (cons #{e1\ 1720}# #{e2\ 1721}#))) (if (eq? #{m\ 1658}# (quote e)) (if (memq 'eval #{when-list\ 1724}#) (#{chi-top-sequence\ 455}# #{body\ 1725}# #{r\ 1656}# #{w\ 1684}# #{s\ 1685}# (if (memq 'expand #{when-list\ 1724}#) 'c&e 'e) '(eval) #{mod\ 1686}#) (begin (if (memq 'expand #{when-list\ 1724}#) (#{top-level-eval-hook\ 289}# (#{chi-top-sequence\ 455}# #{body\ 1725}# #{r\ 1656}# #{w\ 1684}# #{s\ 1685}# 'e '(eval) #{mod\ 1686}#) #{mod\ 1686}#)) (#{chi-void\ 479}#))) (if (memq 'load #{when-list\ 1724}#) (if (begin (let ((#{t\ 1734}# (memq 'compile #{when-list\ 1724}#))) (if #{t\ 1734}# #{t\ 1734}# (begin (let ((#{t\ 1737}# (memq 'expand #{when-list\ 1724}#))) (if #{t\ 1737}# #{t\ 1737}# (if (eq? #{m\ 1658}# 'c&e) (memq 'eval #{when-list\ 1724}#) #f))))))) (#{chi-top-sequence\ 455}# #{body\ 1725}# #{r\ 1656}# #{w\ 1684}# #{s\ 1685}# 'c&e '(compile load) #{mod\ 1686}#) (if (if (eq? #{m\ 1658}# (quote c)) #t (eq? #{m\ 1658}# (quote c&e))) (#{chi-top-sequence\ 455}# #{body\ 1725}# #{r\ 1656}# #{w\ 1684}# #{s\ 1685}# 'c '(load) #{mod\ 1686}#) (#{chi-void\ 479}#))) (if (begin (let ((#{t\ 1745}# (memq 'compile #{when-list\ 1724}#))) (if #{t\ 1745}# #{t\ 1745}# (begin (let ((#{t\ 1748}# (memq 'expand #{when-list\ 1724}#))) (if #{t\ 1748}# #{t\ 1748}# (if (eq? #{m\ 1658}# 'c&e) (memq 'eval #{when-list\ 1724}#) #f))))))) (begin (#{top-level-eval-hook\ 289}# (#{chi-top-sequence\ 455}# #{body\ 1725}# #{r\ 1656}# #{w\ 1684}# #{s\ 1685}# 'e '(eval) #{mod\ 1686}#) #{mod\ 1686}#) (#{chi-void\ 479}#)) (#{chi-void\ 479}#))))))) #{tmp\ 1715}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1714}#)))) (if (eqv? #{type\ 1681}# (quote define-syntax-form)) (begin (let ((#{n\ 1756}# (#{id-var-name\ 437}# #{value\ 1682}# #{w\ 1684}#)) (#{r\ 1757}# (#{macros-only-env\ 372}# #{r\ 1656}#))) (if (eqv? #{m\ 1658}# (quote c)) (if (memq (quote compile) #{esew\ 1659}#) (begin (let ((#{e\ 1760}# (#{chi-install-global\ 457}# #{n\ 1756}# (#{chi\ 465}# #{e\ 1683}# #{r\ 1757}# #{w\ 1684}# #{mod\ 1686}#)))) (begin (#{top-level-eval-hook\ 289}# #{e\ 1760}# #{mod\ 1686}#) (if (memq (quote load) #{esew\ 1659}#) #{e\ 1760}# (#{chi-void\ 479}#))))) (if (memq (quote load) #{esew\ 1659}#) (#{chi-install-global\ 457}# #{n\ 1756}# (#{chi\ 465}# #{e\ 1683}# #{r\ 1757}# #{w\ 1684}# #{mod\ 1686}#)) (#{chi-void\ 479}#))) (if (eqv? #{m\ 1658}# (quote c&e)) (begin (let ((#{e\ 1763}# (#{chi-install-global\ 457}# #{n\ 1756}# (#{chi\ 465}# #{e\ 1683}# #{r\ 1757}# #{w\ 1684}# #{mod\ 1686}#)))) (begin (#{top-level-eval-hook\ 289}# #{e\ 1763}# #{mod\ 1686}#) #{e\ 1763}#))) (begin (if (memq (quote eval) #{esew\ 1659}#) (#{top-level-eval-hook\ 289}# (#{chi-install-global\ 457}# #{n\ 1756}# (#{chi\ 465}# #{e\ 1683}# #{r\ 1757}# #{w\ 1684}# #{mod\ 1686}#)) #{mod\ 1686}#)) (#{chi-void\ 479}#)))))) (if (eqv? #{type\ 1681}# (quote define-form)) (begin (let ((#{n\ 1768}# (#{id-var-name\ 437}# #{value\ 1682}# #{w\ 1684}#))) (begin (let ((#{type\ 1770}# (#{binding-type\ 363}# (#{lookup\ 374}# #{n\ 1768}# #{r\ 1656}# #{mod\ 1686}#)))) (if (if (eqv? #{type\ 1770}# (quote global)) #t (if (eqv? #{type\ 1770}# (quote core)) #t (if (eqv? #{type\ 1770}# 'macro) #t (eqv? #{type\ 1770}# 'module-ref)))) (begin (if (if (if (eq? #{m\ 1658}# (quote c)) #t (eq? #{m\ 1658}# (quote c&e))) (if (not (module-local-variable (current-module) #{n\ 1768}#)) (current-module) #f) #f) (begin (let ((#{old\ 1776}# (module-variable (current-module) #{n\ 1768}#))) (module-define! (current-module) #{n\ 1768}# (if (variable? #{old\ 1776}#) (variable-ref #{old\ 1776}#) #f))))) (begin (let ((#{x\ 1779}# (#{build-global-definition\ 320}# #{s\ 1685}# #{n\ 1768}# (#{chi\ 465}# #{e\ 1683}# #{r\ 1656}# #{w\ 1684}# #{mod\ 1686}#)))) (begin (if (eq? #{m\ 1658}# (quote c&e)) (#{top-level-eval-hook\ 289}# #{x\ 1779}# #{mod\ 1686}#)) #{x\ 1779}#)))) (if (eqv? #{type\ 1770}# 'displaced-lexical) (syntax-violation #f "identifier out of context" #{e\ 1683}# (#{wrap\ 449}# #{value\ 1682}# #{w\ 1684}# #{mod\ 1686}#)) (syntax-violation #f "cannot define keyword at top level" #{e\ 1683}# (#{wrap\ 449}# #{value\ 1682}# #{w\ 1684}# #{mod\ 1686}#)))))))) (begin (let ((#{x\ 1785}# (#{chi-expr\ 467}# #{type\ 1681}# #{value\ 1682}# #{e\ 1683}# #{r\ 1656}# #{w\ 1684}# #{s\ 1685}# #{mod\ 1686}#))) (begin (if (eq? #{m\ 1658}# (quote c&e)) (#{top-level-eval-hook\ 289}# #{x\ 1785}# #{mod\ 1686}#)) #{x\ 1785}#)))))))))))) (#{chi\ 465}# (lambda (#{e\ 1786}# #{r\ 1787}# #{w\ 1788}# #{mod\ 1789}#) (call-with-values (lambda () (#{syntax-type\ 461}# #{e\ 1786}# #{r\ 1787}# #{w\ 1788}# (#{source-annotation\ 359}# #{e\ 1786}#) #f #{mod\ 1789}# #f)) (lambda (#{type\ 1794}# #{value\ 1795}# #{e\ 1796}# #{w\ 1797}# #{s\ 1798}# #{mod\ 1799}#) (#{chi-expr\ 467}# #{type\ 1794}# #{value\ 1795}# #{e\ 1796}# #{r\ 1787}# #{w\ 1797}# #{s\ 1798}# #{mod\ 1799}#))))) (#{chi-expr\ 467}# (lambda (#{type\ 1806}# #{value\ 1807}# #{e\ 1808}# #{r\ 1809}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#) (if (eqv? #{type\ 1806}# (quote lexical)) (#{build-lexical-reference\ 310}# 'value #{s\ 1811}# #{e\ 1808}# #{value\ 1807}#) (if (if (eqv? #{type\ 1806}# (quote core)) #t (eqv? #{type\ 1806}# (quote core-form))) (#{value\ 1807}# #{e\ 1808}# #{r\ 1809}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#) (if (eqv? #{type\ 1806}# (quote module-ref)) (call-with-values (lambda () (#{value\ 1807}# #{e\ 1808}# #{r\ 1809}# #{w\ 1810}#)) (lambda (#{e\ 1823}# #{r\ 1824}# #{w\ 1825}# #{s\ 1826}# #{mod\ 1827}#) (#{chi\ 465}# #{e\ 1823}# #{r\ 1824}# #{w\ 1825}# #{mod\ 1827}#))) (if (eqv? #{type\ 1806}# (quote lexical-call)) (#{chi-application\ 469}# (begin (let ((#{id\ 1835}# (car #{e\ 1808}#))) (#{build-lexical-reference\ 310}# 'fun (#{source-annotation\ 359}# #{id\ 1835}#) (if (#{syntax-object?\ 344}# #{id\ 1835}#) (syntax->datum #{id\ 1835}#) #{id\ 1835}#) #{value\ 1807}#))) #{e\ 1808}# #{r\ 1809}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#) (if (eqv? #{type\ 1806}# (quote global-call)) (#{chi-application\ 469}# (#{build-global-reference\ 316}# (#{source-annotation\ 359}# (car #{e\ 1808}#)) (if (#{syntax-object?\ 344}# #{value\ 1807}#) (#{syntax-object-expression\ 346}# #{value\ 1807}#) #{value\ 1807}#) (if (#{syntax-object?\ 344}# #{value\ 1807}#) (#{syntax-object-module\ 350}# #{value\ 1807}#) #{mod\ 1812}#)) #{e\ 1808}# #{r\ 1809}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#) (if (eqv? #{type\ 1806}# (quote constant)) (#{build-data\ 330}# #{s\ 1811}# (#{strip\ 491}# (#{source-wrap\ 451}# #{e\ 1808}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#) '(()))) (if (eqv? #{type\ 1806}# (quote global)) (#{build-global-reference\ 316}# #{s\ 1811}# #{value\ 1807}# #{mod\ 1812}#) (if (eqv? #{type\ 1806}# (quote call)) (#{chi-application\ 469}# (#{chi\ 465}# (car #{e\ 1808}#) #{r\ 1809}# #{w\ 1810}# #{mod\ 1812}#) #{e\ 1808}# #{r\ 1809}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#) (if (eqv? #{type\ 1806}# (quote begin-form)) (let ((#{tmp\ 1842}# #{e\ 1808}#)) (let ((#{tmp\ 1843}# ($sc-dispatch #{tmp\ 1842}# '(_ any . each-any)))) (if #{tmp\ 1843}# (@apply (lambda (#{e1\ 1846}# #{e2\ 1847}#) (#{chi-sequence\ 453}# (cons #{e1\ 1846}# #{e2\ 1847}#) #{r\ 1809}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#)) #{tmp\ 1843}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1842}#)))) (if (eqv? #{type\ 1806}# 'local-syntax-form) (#{chi-local-syntax\ 475}# #{value\ 1807}# #{e\ 1808}# #{r\ 1809}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}# #{chi-sequence\ 453}#) (if (eqv? #{type\ 1806}# 'eval-when-form) (let ((#{tmp\ 1851}# #{e\ 1808}#)) (let ((#{tmp\ 1852}# ($sc-dispatch #{tmp\ 1851}# '(_ each-any any . each-any)))) (if #{tmp\ 1852}# (@apply (lambda (#{x\ 1856}# #{e1\ 1857}# #{e2\ 1858}#) (begin (let ((#{when-list\ 1860}# (#{chi-when-list\ 459}# #{e\ 1808}# #{x\ 1856}# #{w\ 1810}#))) (if (memq 'eval #{when-list\ 1860}#) (#{chi-sequence\ 453}# (cons #{e1\ 1857}# #{e2\ 1858}#) #{r\ 1809}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#) (#{chi-void\ 479}#))))) #{tmp\ 1852}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1851}#)))) (if (if (eqv? #{type\ 1806}# 'define-form) #t (eqv? #{type\ 1806}# 'define-syntax-form)) (syntax-violation #f "definition in expression context" #{e\ 1808}# (#{wrap\ 449}# #{value\ 1807}# #{w\ 1810}# #{mod\ 1812}#)) (if (eqv? #{type\ 1806}# (quote syntax)) (syntax-violation #f "reference to pattern variable outside syntax form" (#{source-wrap\ 451}# #{e\ 1808}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#)) (if (eqv? #{type\ 1806}# 'displaced-lexical) (syntax-violation #f "reference to identifier outside its scope" (#{source-wrap\ 451}# #{e\ 1808}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#)) (syntax-violation #f "unexpected syntax" (#{source-wrap\ 451}# #{e\ 1808}# #{w\ 1810}# #{s\ 1811}# #{mod\ 1812}#)))))))))))))))))) (#{chi-application\ 469}# (lambda (#{x\ 1867}# #{e\ 1868}# #{r\ 1869}# #{w\ 1870}# #{s\ 1871}# #{mod\ 1872}#) (let ((#{tmp\ 1879}# #{e\ 1868}#)) (let ((#{tmp\ 1880}# ($sc-dispatch #{tmp\ 1879}# '(any . each-any)))) (if #{tmp\ 1880}# (@apply (lambda (#{e0\ 1883}# #{e1\ 1884}#) (#{build-application\ 304}# #{s\ 1871}# #{x\ 1867}# (map (lambda (#{e\ 1885}#) (#{chi\ 465}# #{e\ 1885}# #{r\ 1869}# #{w\ 1870}# #{mod\ 1872}#)) #{e1\ 1884}#))) #{tmp\ 1880}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1879}#)))))) (#{chi-macro\ 471}# (lambda (#{p\ 1888}# #{e\ 1889}# #{r\ 1890}# #{w\ 1891}# #{s\ 1892}# #{rib\ 1893}# #{mod\ 1894}#) (letrec* ((#{rebuild-macro-output\ 1903}# (lambda (#{x\ 1904}# #{m\ 1905}#) (if (pair? #{x\ 1904}#) (#{decorate-source\ 298}# (cons (#{rebuild-macro-output\ 1903}# (car #{x\ 1904}#) #{m\ 1905}#) (#{rebuild-macro-output\ 1903}# (cdr #{x\ 1904}#) #{m\ 1905}#)) #{s\ 1892}#) (if (#{syntax-object?\ 344}# #{x\ 1904}#) (begin (let ((#{w\ 1913}# (#{syntax-object-wrap\ 348}# #{x\ 1904}#))) (begin (let ((#{ms\ 1916}# (#{wrap-marks\ 387}# #{w\ 1913}#)) (#{s\ 1917}# (#{wrap-subst\ 389}# #{w\ 1913}#))) (if (if (pair? #{ms\ 1916}#) (eq? (car #{ms\ 1916}#) #f) #f) (#{make-syntax-object\ 342}# (#{syntax-object-expression\ 346}# #{x\ 1904}#) (#{make-wrap\ 385}# (cdr #{ms\ 1916}#) (if #{rib\ 1893}# (cons #{rib\ 1893}# (cdr #{s\ 1917}#)) (cdr #{s\ 1917}#))) (#{syntax-object-module\ 350}# #{x\ 1904}#)) (#{make-syntax-object\ 342}# (#{decorate-source\ 298}# (#{syntax-object-expression\ 346}# #{x\ 1904}#) #{s\ 1917}#) (#{make-wrap\ 385}# (cons #{m\ 1905}# #{ms\ 1916}#) (if #{rib\ 1893}# (cons #{rib\ 1893}# (cons (quote shift) #{s\ 1917}#)) (cons (quote shift) #{s\ 1917}#))) (#{syntax-object-module\ 350}# #{x\ 1904}#))))))) (if (vector? #{x\ 1904}#) (begin (let ((#{n\ 1925}# (vector-length #{x\ 1904}#))) (begin (let ((#{v\ 1927}# (#{decorate-source\ 298}# (make-vector #{n\ 1925}#) #{x\ 1904}#))) (letrec* ((#{loop\ 1930}# (lambda (#{i\ 1931}#) (if (#{fx=\ 285}# #{i\ 1931}# #{n\ 1925}#) (begin (if #f #f) #{v\ 1927}#) (begin (vector-set! #{v\ 1927}# #{i\ 1931}# (#{rebuild-macro-output\ 1903}# (vector-ref #{x\ 1904}# #{i\ 1931}#) #{m\ 1905}#)) (#{loop\ 1930}# (#{fx+\ 281}# #{i\ 1931}# 1))))))) (begin (#{loop\ 1930}# 0))))))) (if (symbol? #{x\ 1904}#) (syntax-violation #f "encountered raw symbol in macro output" (#{source-wrap\ 451}# #{e\ 1889}# #{w\ 1891}# (#{wrap-subst\ 389}# #{w\ 1891}#) #{mod\ 1894}#) #{x\ 1904}#) (#{decorate-source\ 298}# #{x\ 1904}# #{s\ 1892}#)))))))) (begin (#{rebuild-macro-output\ 1903}# (#{p\ 1888}# (#{source-wrap\ 451}# #{e\ 1889}# (#{anti-mark\ 421}# #{w\ 1891}#) #{s\ 1892}# #{mod\ 1894}#)) (gensym "m")))))) (#{chi-body\ 473}# (lambda (#{body\ 1938}# #{outer-form\ 1939}# #{r\ 1940}# #{w\ 1941}# #{mod\ 1942}#) (begin (let ((#{r\ 1950}# (cons '("placeholder" placeholder) #{r\ 1940}#))) (begin (let ((#{ribcage\ 1952}# (#{make-ribcage\ 401}# '() '() '()))) (begin (let ((#{w\ 1955}# (#{make-wrap\ 385}# (#{wrap-marks\ 387}# #{w\ 1941}#) (cons #{ribcage\ 1952}# (#{wrap-subst\ 389}# #{w\ 1941}#))))) (letrec* ((#{parse\ 1964}# (lambda (#{body\ 1965}# #{ids\ 1966}# #{labels\ 1967}# #{var-ids\ 1968}# #{vars\ 1969}# #{vals\ 1970}# #{bindings\ 1971}#) (if (null? #{body\ 1965}#) (syntax-violation #f "no expressions in body" #{outer-form\ 1939}#) (begin (let ((#{e\ 1976}# (cdr (car #{body\ 1965}#))) (#{er\ 1977}# (car (car #{body\ 1965}#)))) (call-with-values (lambda () (#{syntax-type\ 461}# #{e\ 1976}# #{er\ 1977}# '(()) (#{source-annotation\ 359}# #{er\ 1977}#) #{ribcage\ 1952}# #{mod\ 1942}# #f)) (lambda (#{type\ 1979}# #{value\ 1980}# #{e\ 1981}# #{w\ 1982}# #{s\ 1983}# #{mod\ 1984}#) (if (eqv? #{type\ 1979}# 'define-form) (begin (let ((#{id\ 1994}# (#{wrap\ 449}# #{value\ 1980}# #{w\ 1982}# #{mod\ 1984}#)) (#{label\ 1995}# (#{gen-label\ 396}#))) (begin (let ((#{var\ 1997}# (#{gen-var\ 493}# #{id\ 1994}#))) (begin (#{extend-ribcage!\ 425}# #{ribcage\ 1952}# #{id\ 1994}# #{label\ 1995}#) (#{parse\ 1964}# (cdr #{body\ 1965}#) (cons #{id\ 1994}# #{ids\ 1966}#) (cons #{label\ 1995}# #{labels\ 1967}#) (cons #{id\ 1994}# #{var-ids\ 1968}#) (cons #{var\ 1997}# #{vars\ 1969}#) (cons (cons #{er\ 1977}# (#{wrap\ 449}# #{e\ 1981}# #{w\ 1982}# #{mod\ 1984}#)) #{vals\ 1970}#) (cons (cons 'lexical #{var\ 1997}#) #{bindings\ 1971}#))))))) (if (eqv? #{type\ 1979}# 'define-syntax-form) (begin (let ((#{id\ 2002}# (#{wrap\ 449}# #{value\ 1980}# #{w\ 1982}# #{mod\ 1984}#)) (#{label\ 2003}# (#{gen-label\ 396}#))) (begin (#{extend-ribcage!\ 425}# #{ribcage\ 1952}# #{id\ 2002}# #{label\ 2003}#) (#{parse\ 1964}# (cdr #{body\ 1965}#) (cons #{id\ 2002}# #{ids\ 1966}#) (cons #{label\ 2003}# #{labels\ 1967}#) #{var-ids\ 1968}# #{vars\ 1969}# #{vals\ 1970}# (cons (cons 'macro (cons #{er\ 1977}# (#{wrap\ 449}# #{e\ 1981}# #{w\ 1982}# #{mod\ 1984}#))) #{bindings\ 1971}#))))) (if (eqv? #{type\ 1979}# 'begin-form) (let ((#{tmp\ 2006}# #{e\ 1981}#)) (let ((#{tmp\ 2007}# ($sc-dispatch #{tmp\ 2006}# '(_ . each-any)))) (if #{tmp\ 2007}# (@apply (lambda (#{e1\ 2009}#) (#{parse\ 1964}# (letrec* ((#{f\ 2012}# (lambda (#{forms\ 2013}#) (if (null? #{forms\ 2013}#) (cdr #{body\ 1965}#) (cons (cons #{er\ 1977}# (#{wrap\ 449}# (car #{forms\ 2013}#) #{w\ 1982}# #{mod\ 1984}#)) (#{f\ 2012}# (cdr #{forms\ 2013}#))))))) (begin (#{f\ 2012}# #{e1\ 2009}#))) #{ids\ 1966}# #{labels\ 1967}# #{var-ids\ 1968}# #{vars\ 1969}# #{vals\ 1970}# #{bindings\ 1971}#)) #{tmp\ 2007}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2006}#)))) (if (eqv? #{type\ 1979}# 'local-syntax-form) (#{chi-local-syntax\ 475}# #{value\ 1980}# #{e\ 1981}# #{er\ 1977}# #{w\ 1982}# #{s\ 1983}# #{mod\ 1984}# (lambda (#{forms\ 2016}# #{er\ 2017}# #{w\ 2018}# #{s\ 2019}# #{mod\ 2020}#) (#{parse\ 1964}# (letrec* ((#{f\ 2028}# (lambda (#{forms\ 2029}#) (if (null? #{forms\ 2029}#) (cdr #{body\ 1965}#) (cons (cons #{er\ 2017}# (#{wrap\ 449}# (car #{forms\ 2029}#) #{w\ 2018}# #{mod\ 2020}#)) (#{f\ 2028}# (cdr #{forms\ 2029}#))))))) (begin (#{f\ 2028}# #{forms\ 2016}#))) #{ids\ 1966}# #{labels\ 1967}# #{var-ids\ 1968}# #{vars\ 1969}# #{vals\ 1970}# #{bindings\ 1971}#))) (if (null? #{ids\ 1966}#) (#{build-sequence\ 332}# #f (map (lambda (#{x\ 2032}#) (#{chi\ 465}# (cdr #{x\ 2032}#) (car #{x\ 2032}#) '(()) #{mod\ 1984}#)) (cons (cons #{er\ 1977}# (#{source-wrap\ 451}# #{e\ 1981}# #{w\ 1982}# #{s\ 1983}# #{mod\ 1984}#)) (cdr #{body\ 1965}#)))) (begin (if (not (#{valid-bound-ids?\ 443}# #{ids\ 1966}#)) (syntax-violation #f "invalid or duplicate identifier in definition" #{outer-form\ 1939}#)) (letrec* ((#{loop\ 2039}# (lambda (#{bs\ 2040}# #{er-cache\ 2041}# #{r-cache\ 2042}#) (if (not (null? #{bs\ 2040}#)) (begin (let ((#{b\ 2045}# (car #{bs\ 2040}#))) (if (eq? (car #{b\ 2045}#) 'macro) (begin (let ((#{er\ 2048}# (car (cdr #{b\ 2045}#)))) (begin (let ((#{r-cache\ 2050}# (if (eq? #{er\ 2048}# #{er-cache\ 2041}#) #{r-cache\ 2042}# (#{macros-only-env\ 372}# #{er\ 2048}#)))) (begin (set-cdr! #{b\ 2045}# (#{eval-local-transformer\ 477}# (#{chi\ 465}# (cdr (cdr #{b\ 2045}#)) #{r-cache\ 2050}# '(()) #{mod\ 1984}#) #{mod\ 1984}#)) (#{loop\ 2039}# (cdr #{bs\ 2040}#) #{er\ 2048}# #{r-cache\ 2050}#)))))) (#{loop\ 2039}# (cdr #{bs\ 2040}#) #{er-cache\ 2041}# #{r-cache\ 2042}#)))))))) (begin (#{loop\ 2039}# #{bindings\ 1971}# #f #f))) (set-cdr! #{r\ 1950}# (#{extend-env\ 368}# #{labels\ 1967}# #{bindings\ 1971}# (cdr #{r\ 1950}#))) (#{build-letrec\ 338}# #f #t (reverse (map syntax->datum #{var-ids\ 1968}#)) (reverse #{vars\ 1969}#) (map (lambda (#{x\ 2053}#) (#{chi\ 465}# (cdr #{x\ 2053}#) (car #{x\ 2053}#) '(()) #{mod\ 1984}#)) (reverse #{vals\ 1970}#)) (#{build-sequence\ 332}# #f (map (lambda (#{x\ 2057}#) (#{chi\ 465}# (cdr #{x\ 2057}#) (car #{x\ 2057}#) '(()) #{mod\ 1984}#)) (cons (cons #{er\ 1977}# (#{source-wrap\ 451}# #{e\ 1981}# #{w\ 1982}# #{s\ 1983}# #{mod\ 1984}#)) (cdr #{body\ 1965}#))))))))))))))))))) (begin (#{parse\ 1964}# (map (lambda (#{x\ 1972}#) (cons #{r\ 1950}# (#{wrap\ 449}# #{x\ 1972}# #{w\ 1955}# #{mod\ 1942}#))) #{body\ 1938}#) '() '() '() '() '() '()))))))))))) (#{chi-local-syntax\ 475}# (lambda (#{rec?\ 2060}# #{e\ 2061}# #{r\ 2062}# #{w\ 2063}# #{s\ 2064}# #{mod\ 2065}# #{k\ 2066}#) (let ((#{tmp\ 2074}# #{e\ 2061}#)) (let ((#{tmp\ 2075}# ($sc-dispatch #{tmp\ 2074}# '(_ #(each (any any)) any . each-any)))) (if #{tmp\ 2075}# (@apply (lambda (#{id\ 2080}# #{val\ 2081}# #{e1\ 2082}# #{e2\ 2083}#) (begin (let ((#{ids\ 2085}# #{id\ 2080}#)) (if (not (#{valid-bound-ids?\ 443}# #{ids\ 2085}#)) (syntax-violation #f "duplicate bound keyword" #{e\ 2061}#) (begin (let ((#{labels\ 2088}# (#{gen-labels\ 398}# #{ids\ 2085}#))) (begin (let ((#{new-w\ 2090}# (#{make-binding-wrap\ 427}# #{ids\ 2085}# #{labels\ 2088}# #{w\ 2063}#))) (#{k\ 2066}# (cons #{e1\ 2082}# #{e2\ 2083}#) (#{extend-env\ 368}# #{labels\ 2088}# (begin (let ((#{w\ 2094}# (if #{rec?\ 2060}# #{new-w\ 2090}# #{w\ 2063}#)) (#{trans-r\ 2095}# (#{macros-only-env\ 372}# #{r\ 2062}#))) (map (lambda (#{x\ 2096}#) (cons 'macro (#{eval-local-transformer\ 477}# (#{chi\ 465}# #{x\ 2096}# #{trans-r\ 2095}# #{w\ 2094}# #{mod\ 2065}#) #{mod\ 2065}#))) #{val\ 2081}#))) #{r\ 2062}#) #{new-w\ 2090}# #{s\ 2064}# #{mod\ 2065}#))))))))) #{tmp\ 2075}#) (let ((#{_\ 2101}# #{tmp\ 2074}#)) (syntax-violation #f "bad local syntax definition" (#{source-wrap\ 451}# #{e\ 2061}# #{w\ 2063}# #{s\ 2064}# #{mod\ 2065}#)))))))) (#{eval-local-transformer\ 477}# (lambda (#{expanded\ 2102}# #{mod\ 2103}#) (begin (let ((#{p\ 2107}# (#{local-eval-hook\ 291}# #{expanded\ 2102}# #{mod\ 2103}#))) (if (procedure? #{p\ 2107}#) #{p\ 2107}# (syntax-violation #f "nonprocedure transformer" #{p\ 2107}#)))))) (#{chi-void\ 479}# (lambda () (#{build-void\ 302}# #f))) (#{ellipsis?\ 481}# (lambda (#{x\ 2109}#) (if (#{nonsymbol-id?\ 378}# #{x\ 2109}#) (#{free-id=?\ 439}# #{x\ 2109}# '#(syntax-object ... ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i2110")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))) #f))) (#{lambda-formals\ 483}# (lambda (#{orig-args\ 2113}#) (letrec* ((#{req\ 2116}# (lambda (#{args\ 2119}# #{rreq\ 2120}#) (let ((#{tmp\ 2123}# #{args\ 2119}#)) (let ((#{tmp\ 2124}# ($sc-dispatch #{tmp\ 2123}# (quote ())))) (if #{tmp\ 2124}# (@apply (lambda () (#{check\ 2118}# (reverse #{rreq\ 2120}#) #f)) #{tmp\ 2124}#) (let ((#{tmp\ 2125}# ($sc-dispatch #{tmp\ 2123}# '(any . any)))) (if (if #{tmp\ 2125}# (@apply (lambda (#{a\ 2128}# #{b\ 2129}#) (#{id?\ 380}# #{a\ 2128}#)) #{tmp\ 2125}#) #f) (@apply (lambda (#{a\ 2132}# #{b\ 2133}#) (#{req\ 2116}# #{b\ 2133}# (cons #{a\ 2132}# #{rreq\ 2120}#))) #{tmp\ 2125}#) (let ((#{tmp\ 2134}# (list #{tmp\ 2123}#))) (if (if #{tmp\ 2134}# (@apply (lambda (#{r\ 2136}#) (#{id?\ 380}# #{r\ 2136}#)) #{tmp\ 2134}#) #f) (@apply (lambda (#{r\ 2138}#) (#{check\ 2118}# (reverse #{rreq\ 2120}#) #{r\ 2138}#)) #{tmp\ 2134}#) (let ((#{else\ 2140}# #{tmp\ 2123}#)) (syntax-violation 'lambda "invalid argument list" #{orig-args\ 2113}# #{args\ 2119}#))))))))))) (#{check\ 2118}# (lambda (#{req\ 2141}# #{rest\ 2142}#) (if (#{distinct-bound-ids?\ 445}# (if #{rest\ 2142}# (cons #{rest\ 2142}# #{req\ 2141}#) #{req\ 2141}#)) (values #{req\ 2141}# #f #{rest\ 2142}# #f) (syntax-violation 'lambda "duplicate identifier in argument list" #{orig-args\ 2113}#))))) (begin (#{req\ 2116}# #{orig-args\ 2113}# (quote ())))))) (#{chi-simple-lambda\ 485}# (lambda (#{e\ 2148}# #{r\ 2149}# #{w\ 2150}# #{s\ 2151}# #{mod\ 2152}# #{req\ 2153}# #{rest\ 2154}# #{meta\ 2155}# #{body\ 2156}#) (begin (let ((#{ids\ 2168}# (if #{rest\ 2154}# (append #{req\ 2153}# (list #{rest\ 2154}#)) #{req\ 2153}#))) (begin (let ((#{vars\ 2170}# (map #{gen-var\ 493}# #{ids\ 2168}#))) (begin (let ((#{labels\ 2172}# (#{gen-labels\ 398}# #{ids\ 2168}#))) (#{build-simple-lambda\ 322}# #{s\ 2151}# (map syntax->datum #{req\ 2153}#) (if #{rest\ 2154}# (syntax->datum #{rest\ 2154}#) #f) #{vars\ 2170}# #{meta\ 2155}# (#{chi-body\ 473}# #{body\ 2156}# (#{source-wrap\ 451}# #{e\ 2148}# #{w\ 2150}# #{s\ 2151}# #{mod\ 2152}#) (#{extend-var-env\ 370}# #{labels\ 2172}# #{vars\ 2170}# #{r\ 2149}#) (#{make-binding-wrap\ 427}# #{ids\ 2168}# #{labels\ 2172}# #{w\ 2150}#) #{mod\ 2152}#)))))))))) (#{lambda*-formals\ 487}# (lambda (#{orig-args\ 2175}#) (letrec* ((#{req\ 2178}# (lambda (#{args\ 2187}# #{rreq\ 2188}#) (let ((#{tmp\ 2191}# #{args\ 2187}#)) (let ((#{tmp\ 2192}# ($sc-dispatch #{tmp\ 2191}# (quote ())))) (if #{tmp\ 2192}# (@apply (lambda () (#{check\ 2186}# (reverse #{rreq\ 2188}#) '() #f '())) #{tmp\ 2192}#) (let ((#{tmp\ 2193}# ($sc-dispatch #{tmp\ 2191}# '(any . any)))) (if (if #{tmp\ 2193}# (@apply (lambda (#{a\ 2196}# #{b\ 2197}#) (#{id?\ 380}# #{a\ 2196}#)) #{tmp\ 2193}#) #f) (@apply (lambda (#{a\ 2200}# #{b\ 2201}#) (#{req\ 2178}# #{b\ 2201}# (cons #{a\ 2200}# #{rreq\ 2188}#))) #{tmp\ 2193}#) (let ((#{tmp\ 2202}# ($sc-dispatch #{tmp\ 2191}# '(any . any)))) (if (if #{tmp\ 2202}# (@apply (lambda (#{a\ 2205}# #{b\ 2206}#) (eq? (syntax->datum #{a\ 2205}#) #:optional)) #{tmp\ 2202}#) #f) (@apply (lambda (#{a\ 2209}# #{b\ 2210}#) (#{opt\ 2180}# #{b\ 2210}# (reverse #{rreq\ 2188}#) '())) #{tmp\ 2202}#) (let ((#{tmp\ 2211}# ($sc-dispatch #{tmp\ 2191}# '(any . any)))) (if (if #{tmp\ 2211}# (@apply (lambda (#{a\ 2214}# #{b\ 2215}#) (eq? (syntax->datum #{a\ 2214}#) #:key)) #{tmp\ 2211}#) #f) (@apply (lambda (#{a\ 2218}# #{b\ 2219}#) (#{key\ 2182}# #{b\ 2219}# (reverse #{rreq\ 2188}#) '() '())) #{tmp\ 2211}#) (let ((#{tmp\ 2220}# ($sc-dispatch #{tmp\ 2191}# '(any any)))) (if (if #{tmp\ 2220}# (@apply (lambda (#{a\ 2223}# #{b\ 2224}#) (eq? (syntax->datum #{a\ 2223}#) #:rest)) #{tmp\ 2220}#) #f) (@apply (lambda (#{a\ 2227}# #{b\ 2228}#) (#{rest\ 2184}# #{b\ 2228}# (reverse #{rreq\ 2188}#) '() '())) #{tmp\ 2220}#) (let ((#{tmp\ 2229}# (list #{tmp\ 2191}#))) (if (if #{tmp\ 2229}# (@apply (lambda (#{r\ 2231}#) (#{id?\ 380}# #{r\ 2231}#)) #{tmp\ 2229}#) #f) (@apply (lambda (#{r\ 2233}#) (#{rest\ 2184}# #{r\ 2233}# (reverse #{rreq\ 2188}#) '() '())) #{tmp\ 2229}#) (let ((#{else\ 2235}# #{tmp\ 2191}#)) (syntax-violation 'lambda* "invalid argument list" #{orig-args\ 2175}# #{args\ 2187}#))))))))))))))))) (#{opt\ 2180}# (lambda (#{args\ 2236}# #{req\ 2237}# #{ropt\ 2238}#) (let ((#{tmp\ 2242}# #{args\ 2236}#)) (let ((#{tmp\ 2243}# ($sc-dispatch #{tmp\ 2242}# (quote ())))) (if #{tmp\ 2243}# (@apply (lambda () (#{check\ 2186}# #{req\ 2237}# (reverse #{ropt\ 2238}#) #f '())) #{tmp\ 2243}#) (let ((#{tmp\ 2244}# ($sc-dispatch #{tmp\ 2242}# '(any . any)))) (if (if #{tmp\ 2244}# (@apply (lambda (#{a\ 2247}# #{b\ 2248}#) (#{id?\ 380}# #{a\ 2247}#)) #{tmp\ 2244}#) #f) (@apply (lambda (#{a\ 2251}# #{b\ 2252}#) (#{opt\ 2180}# #{b\ 2252}# #{req\ 2237}# (cons (cons #{a\ 2251}# '(#(syntax-object #f ((top) #(ribcage #(a b) #((top) (top)) #("i2249" "i2250")) #(ribcage () () ()) #(ribcage #(args req ropt) #((top) (top) (top)) #("i2239" "i2240" "i2241")) #(ribcage (check rest key opt req) ((top) (top) (top) (top) (top)) ("i2185" "i2183" "i2181" "i2179" "i2177")) #(ribcage #(orig-args) #((top)) #("i2176")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)))) #{ropt\ 2238}#))) #{tmp\ 2244}#) (let ((#{tmp\ 2253}# ($sc-dispatch #{tmp\ 2242}# '((any any) . any)))) (if (if #{tmp\ 2253}# (@apply (lambda (#{a\ 2257}# #{init\ 2258}# #{b\ 2259}#) (#{id?\ 380}# #{a\ 2257}#)) #{tmp\ 2253}#) #f) (@apply (lambda (#{a\ 2263}# #{init\ 2264}# #{b\ 2265}#) (#{opt\ 2180}# #{b\ 2265}# #{req\ 2237}# (cons (list #{a\ 2263}# #{init\ 2264}#) #{ropt\ 2238}#))) #{tmp\ 2253}#) (let ((#{tmp\ 2266}# ($sc-dispatch #{tmp\ 2242}# '(any . any)))) (if (if #{tmp\ 2266}# (@apply (lambda (#{a\ 2269}# #{b\ 2270}#) (eq? (syntax->datum #{a\ 2269}#) #:key)) #{tmp\ 2266}#) #f) (@apply (lambda (#{a\ 2273}# #{b\ 2274}#) (#{key\ 2182}# #{b\ 2274}# #{req\ 2237}# (reverse #{ropt\ 2238}#) '())) #{tmp\ 2266}#) (let ((#{tmp\ 2275}# ($sc-dispatch #{tmp\ 2242}# '(any any)))) (if (if #{tmp\ 2275}# (@apply (lambda (#{a\ 2278}# #{b\ 2279}#) (eq? (syntax->datum #{a\ 2278}#) #:rest)) #{tmp\ 2275}#) #f) (@apply (lambda (#{a\ 2282}# #{b\ 2283}#) (#{rest\ 2184}# #{b\ 2283}# #{req\ 2237}# (reverse #{ropt\ 2238}#) '())) #{tmp\ 2275}#) (let ((#{tmp\ 2284}# (list #{tmp\ 2242}#))) (if (if #{tmp\ 2284}# (@apply (lambda (#{r\ 2286}#) (#{id?\ 380}# #{r\ 2286}#)) #{tmp\ 2284}#) #f) (@apply (lambda (#{r\ 2288}#) (#{rest\ 2184}# #{r\ 2288}# #{req\ 2237}# (reverse #{ropt\ 2238}#) '())) #{tmp\ 2284}#) (let ((#{else\ 2290}# #{tmp\ 2242}#)) (syntax-violation 'lambda* "invalid optional argument list" #{orig-args\ 2175}# #{args\ 2236}#))))))))))))))))) (#{key\ 2182}# (lambda (#{args\ 2291}# #{req\ 2292}# #{opt\ 2293}# #{rkey\ 2294}#) (let ((#{tmp\ 2299}# #{args\ 2291}#)) (let ((#{tmp\ 2300}# ($sc-dispatch #{tmp\ 2299}# (quote ())))) (if #{tmp\ 2300}# (@apply (lambda () (#{check\ 2186}# #{req\ 2292}# #{opt\ 2293}# #f (cons #f (reverse #{rkey\ 2294}#)))) #{tmp\ 2300}#) (let ((#{tmp\ 2301}# ($sc-dispatch #{tmp\ 2299}# '(any . any)))) (if (if #{tmp\ 2301}# (@apply (lambda (#{a\ 2304}# #{b\ 2305}#) (#{id?\ 380}# #{a\ 2304}#)) #{tmp\ 2301}#) #f) (@apply (lambda (#{a\ 2308}# #{b\ 2309}#) (let ((#{tmp\ 2311}# (symbol->keyword (syntax->datum #{a\ 2308}#)))) (let ((#{k\ 2313}# #{tmp\ 2311}#)) (#{key\ 2182}# #{b\ 2309}# #{req\ 2292}# #{opt\ 2293}# (cons (cons #{k\ 2313}# (cons #{a\ 2308}# '(#(syntax-object #f ((top) #(ribcage #(k) #((top)) #("i2312")) #(ribcage #(a b) #((top) (top)) #("i2306" "i2307")) #(ribcage () () ()) #(ribcage #(args req opt rkey) #((top) (top) (top) (top)) #("i2295" "i2296" "i2297" "i2298")) #(ribcage (check rest key opt req) ((top) (top) (top) (top) (top)) ("i2185" "i2183" "i2181" "i2179" "i2177")) #(ribcage #(orig-args) #((top)) #("i2176")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))))) #{rkey\ 2294}#))))) #{tmp\ 2301}#) (let ((#{tmp\ 2314}# ($sc-dispatch #{tmp\ 2299}# '((any any) . any)))) (if (if #{tmp\ 2314}# (@apply (lambda (#{a\ 2318}# #{init\ 2319}# #{b\ 2320}#) (#{id?\ 380}# #{a\ 2318}#)) #{tmp\ 2314}#) #f) (@apply (lambda (#{a\ 2324}# #{init\ 2325}# #{b\ 2326}#) (let ((#{tmp\ 2328}# (symbol->keyword (syntax->datum #{a\ 2324}#)))) (let ((#{k\ 2330}# #{tmp\ 2328}#)) (#{key\ 2182}# #{b\ 2326}# #{req\ 2292}# #{opt\ 2293}# (cons (list #{k\ 2330}# #{a\ 2324}# #{init\ 2325}#) #{rkey\ 2294}#))))) #{tmp\ 2314}#) (let ((#{tmp\ 2331}# ($sc-dispatch #{tmp\ 2299}# '((any any any) . any)))) (if (if #{tmp\ 2331}# (@apply (lambda (#{a\ 2336}# #{init\ 2337}# #{k\ 2338}# #{b\ 2339}#) (if (#{id?\ 380}# #{a\ 2336}#) (keyword? (syntax->datum #{k\ 2338}#)) #f)) #{tmp\ 2331}#) #f) (@apply (lambda (#{a\ 2346}# #{init\ 2347}# #{k\ 2348}# #{b\ 2349}#) (#{key\ 2182}# #{b\ 2349}# #{req\ 2292}# #{opt\ 2293}# (cons (list #{k\ 2348}# #{a\ 2346}# #{init\ 2347}#) #{rkey\ 2294}#))) #{tmp\ 2331}#) (let ((#{tmp\ 2350}# ($sc-dispatch #{tmp\ 2299}# '(any)))) (if (if #{tmp\ 2350}# (@apply (lambda (#{aok\ 2352}#) (eq? (syntax->datum #{aok\ 2352}#) #:allow-other-keys)) #{tmp\ 2350}#) #f) (@apply (lambda (#{aok\ 2354}#) (#{check\ 2186}# #{req\ 2292}# #{opt\ 2293}# #f (cons #t (reverse #{rkey\ 2294}#)))) #{tmp\ 2350}#) (let ((#{tmp\ 2355}# ($sc-dispatch #{tmp\ 2299}# '(any any any)))) (if (if #{tmp\ 2355}# (@apply (lambda (#{aok\ 2359}# #{a\ 2360}# #{b\ 2361}#) (if (eq? (syntax->datum #{aok\ 2359}#) #:allow-other-keys) (eq? (syntax->datum #{a\ 2360}#) #:rest) #f)) #{tmp\ 2355}#) #f) (@apply (lambda (#{aok\ 2367}# #{a\ 2368}# #{b\ 2369}#) (#{rest\ 2184}# #{b\ 2369}# #{req\ 2292}# #{opt\ 2293}# (cons #t (reverse #{rkey\ 2294}#)))) #{tmp\ 2355}#) (let ((#{tmp\ 2370}# ($sc-dispatch #{tmp\ 2299}# '(any . any)))) (if (if #{tmp\ 2370}# (@apply (lambda (#{aok\ 2373}# #{r\ 2374}#) (if (eq? (syntax->datum #{aok\ 2373}#) #:allow-other-keys) (#{id?\ 380}# #{r\ 2374}#) #f)) #{tmp\ 2370}#) #f) (@apply (lambda (#{aok\ 2379}# #{r\ 2380}#) (#{rest\ 2184}# #{r\ 2380}# #{req\ 2292}# #{opt\ 2293}# (cons #t (reverse #{rkey\ 2294}#)))) #{tmp\ 2370}#) (let ((#{tmp\ 2381}# ($sc-dispatch #{tmp\ 2299}# '(any any)))) (if (if #{tmp\ 2381}# (@apply (lambda (#{a\ 2384}# #{b\ 2385}#) (eq? (syntax->datum #{a\ 2384}#) #:rest)) #{tmp\ 2381}#) #f) (@apply (lambda (#{a\ 2388}# #{b\ 2389}#) (#{rest\ 2184}# #{b\ 2389}# #{req\ 2292}# #{opt\ 2293}# (cons #f (reverse #{rkey\ 2294}#)))) #{tmp\ 2381}#) (let ((#{tmp\ 2390}# (list #{tmp\ 2299}#))) (if (if #{tmp\ 2390}# (@apply (lambda (#{r\ 2392}#) (#{id?\ 380}# #{r\ 2392}#)) #{tmp\ 2390}#) #f) (@apply (lambda (#{r\ 2394}#) (#{rest\ 2184}# #{r\ 2394}# #{req\ 2292}# #{opt\ 2293}# (cons #f (reverse #{rkey\ 2294}#)))) #{tmp\ 2390}#) (let ((#{else\ 2396}# #{tmp\ 2299}#)) (syntax-violation 'lambda* "invalid keyword argument list" #{orig-args\ 2175}# #{args\ 2291}#))))))))))))))))))))))) (#{rest\ 2184}# (lambda (#{args\ 2397}# #{req\ 2398}# #{opt\ 2399}# #{kw\ 2400}#) (let ((#{tmp\ 2405}# #{args\ 2397}#)) (let ((#{tmp\ 2406}# (list #{tmp\ 2405}#))) (if (if #{tmp\ 2406}# (@apply (lambda (#{r\ 2408}#) (#{id?\ 380}# #{r\ 2408}#)) #{tmp\ 2406}#) #f) (@apply (lambda (#{r\ 2410}#) (#{check\ 2186}# #{req\ 2398}# #{opt\ 2399}# #{r\ 2410}# #{kw\ 2400}#)) #{tmp\ 2406}#) (let ((#{else\ 2412}# #{tmp\ 2405}#)) (syntax-violation 'lambda* "invalid rest argument" #{orig-args\ 2175}# #{args\ 2397}#))))))) (#{check\ 2186}# (lambda (#{req\ 2413}# #{opt\ 2414}# #{rest\ 2415}# #{kw\ 2416}#) (if (#{distinct-bound-ids?\ 445}# (append #{req\ 2413}# (map car #{opt\ 2414}#) (if #{rest\ 2415}# (list #{rest\ 2415}#) '()) (if (pair? #{kw\ 2416}#) (map cadr (cdr #{kw\ 2416}#)) '()))) (values #{req\ 2413}# #{opt\ 2414}# #{rest\ 2415}# #{kw\ 2416}#) (syntax-violation 'lambda* "duplicate identifier in argument list" #{orig-args\ 2175}#))))) (begin (#{req\ 2178}# #{orig-args\ 2175}# (quote ())))))) (#{chi-lambda-case\ 489}# (lambda (#{e\ 2424}# #{r\ 2425}# #{w\ 2426}# #{s\ 2427}# #{mod\ 2428}# #{get-formals\ 2429}# #{clauses\ 2430}#) (letrec* ((#{expand-req\ 2439}# (lambda (#{req\ 2446}# #{opt\ 2447}# #{rest\ 2448}# #{kw\ 2449}# #{body\ 2450}#) (begin (let ((#{vars\ 2458}# (map #{gen-var\ 493}# #{req\ 2446}#)) (#{labels\ 2459}# (#{gen-labels\ 398}# #{req\ 2446}#))) (begin (let ((#{r*\ 2462}# (#{extend-var-env\ 370}# #{labels\ 2459}# #{vars\ 2458}# #{r\ 2425}#)) (#{w*\ 2463}# (#{make-binding-wrap\ 427}# #{req\ 2446}# #{labels\ 2459}# #{w\ 2426}#))) (#{expand-opt\ 2441}# (map syntax->datum #{req\ 2446}#) #{opt\ 2447}# #{rest\ 2448}# #{kw\ 2449}# #{body\ 2450}# (reverse #{vars\ 2458}#) #{r*\ 2462}# #{w*\ 2463}# '() '()))))))) (#{expand-opt\ 2441}# (lambda (#{req\ 2464}# #{opt\ 2465}# #{rest\ 2466}# #{kw\ 2467}# #{body\ 2468}# #{vars\ 2469}# #{r*\ 2470}# #{w*\ 2471}# #{out\ 2472}# #{inits\ 2473}#) (if (pair? #{opt\ 2465}#) (let ((#{tmp\ 2486}# (car #{opt\ 2465}#))) (let ((#{tmp\ 2487}# ($sc-dispatch #{tmp\ 2486}# '(any any)))) (if #{tmp\ 2487}# (@apply (lambda (#{id\ 2490}# #{i\ 2491}#) (begin (let ((#{v\ 2494}# (#{gen-var\ 493}# #{id\ 2490}#))) (begin (let ((#{l\ 2496}# (#{gen-labels\ 398}# (list #{v\ 2494}#)))) (begin (let ((#{r**\ 2498}# (#{extend-var-env\ 370}# #{l\ 2496}# (list #{v\ 2494}#) #{r*\ 2470}#))) (begin (let ((#{w**\ 2500}# (#{make-binding-wrap\ 427}# (list #{id\ 2490}#) #{l\ 2496}# #{w*\ 2471}#))) (#{expand-opt\ 2441}# #{req\ 2464}# (cdr #{opt\ 2465}#) #{rest\ 2466}# #{kw\ 2467}# #{body\ 2468}# (cons #{v\ 2494}# #{vars\ 2469}#) #{r**\ 2498}# #{w**\ 2500}# (cons (syntax->datum #{id\ 2490}#) #{out\ 2472}#) (cons (#{chi\ 465}# #{i\ 2491}# #{r*\ 2470}# #{w*\ 2471}# #{mod\ 2428}#) #{inits\ 2473}#))))))))))) #{tmp\ 2487}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2486}#)))) (if #{rest\ 2466}# (begin (let ((#{v\ 2505}# (#{gen-var\ 493}# #{rest\ 2466}#))) (begin (let ((#{l\ 2507}# (#{gen-labels\ 398}# (list #{v\ 2505}#)))) (begin (let ((#{r*\ 2509}# (#{extend-var-env\ 370}# #{l\ 2507}# (list #{v\ 2505}#) #{r*\ 2470}#))) (begin (let ((#{w*\ 2511}# (#{make-binding-wrap\ 427}# (list #{rest\ 2466}#) #{l\ 2507}# #{w*\ 2471}#))) (#{expand-kw\ 2443}# #{req\ 2464}# (if (pair? #{out\ 2472}#) (reverse #{out\ 2472}#) #f) (syntax->datum #{rest\ 2466}#) (if (pair? #{kw\ 2467}#) (cdr #{kw\ 2467}#) #{kw\ 2467}#) #{body\ 2468}# (cons #{v\ 2505}# #{vars\ 2469}#) #{r*\ 2509}# #{w*\ 2511}# (if (pair? #{kw\ 2467}#) (car #{kw\ 2467}#) #f) '() #{inits\ 2473}#))))))))) (#{expand-kw\ 2443}# #{req\ 2464}# (if (pair? #{out\ 2472}#) (reverse #{out\ 2472}#) #f) #f (if (pair? #{kw\ 2467}#) (cdr #{kw\ 2467}#) #{kw\ 2467}#) #{body\ 2468}# #{vars\ 2469}# #{r*\ 2470}# #{w*\ 2471}# (if (pair? #{kw\ 2467}#) (car #{kw\ 2467}#) #f) '() #{inits\ 2473}#))))) (#{expand-kw\ 2443}# (lambda (#{req\ 2513}# #{opt\ 2514}# #{rest\ 2515}# #{kw\ 2516}# #{body\ 2517}# #{vars\ 2518}# #{r*\ 2519}# #{w*\ 2520}# #{aok\ 2521}# #{out\ 2522}# #{inits\ 2523}#) (if (pair? #{kw\ 2516}#) (let ((#{tmp\ 2537}# (car #{kw\ 2516}#))) (let ((#{tmp\ 2538}# ($sc-dispatch #{tmp\ 2537}# '(any any any)))) (if #{tmp\ 2538}# (@apply (lambda (#{k\ 2542}# #{id\ 2543}# #{i\ 2544}#) (begin (let ((#{v\ 2547}# (#{gen-var\ 493}# #{id\ 2543}#))) (begin (let ((#{l\ 2549}# (#{gen-labels\ 398}# (list #{v\ 2547}#)))) (begin (let ((#{r**\ 2551}# (#{extend-var-env\ 370}# #{l\ 2549}# (list #{v\ 2547}#) #{r*\ 2519}#))) (begin (let ((#{w**\ 2553}# (#{make-binding-wrap\ 427}# (list #{id\ 2543}#) #{l\ 2549}# #{w*\ 2520}#))) (#{expand-kw\ 2443}# #{req\ 2513}# #{opt\ 2514}# #{rest\ 2515}# (cdr #{kw\ 2516}#) #{body\ 2517}# (cons #{v\ 2547}# #{vars\ 2518}#) #{r**\ 2551}# #{w**\ 2553}# #{aok\ 2521}# (cons (list (syntax->datum #{k\ 2542}#) (syntax->datum #{id\ 2543}#) #{v\ 2547}#) #{out\ 2522}#) (cons (#{chi\ 465}# #{i\ 2544}# #{r*\ 2519}# #{w*\ 2520}# #{mod\ 2428}#) #{inits\ 2523}#))))))))))) #{tmp\ 2538}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2537}#)))) (#{expand-body\ 2445}# #{req\ 2513}# #{opt\ 2514}# #{rest\ 2515}# (if (begin (let ((#{t\ 2557}# #{aok\ 2521}#)) (if #{t\ 2557}# #{t\ 2557}# (pair? #{out\ 2522}#)))) (cons #{aok\ 2521}# (reverse #{out\ 2522}#)) #f) #{body\ 2517}# (reverse #{vars\ 2518}#) #{r*\ 2519}# #{w*\ 2520}# (reverse #{inits\ 2523}#) '())))) (#{expand-body\ 2445}# (lambda (#{req\ 2559}# #{opt\ 2560}# #{rest\ 2561}# #{kw\ 2562}# #{body\ 2563}# #{vars\ 2564}# #{r*\ 2565}# #{w*\ 2566}# #{inits\ 2567}# #{meta\ 2568}#) (let ((#{tmp\ 2579}# #{body\ 2563}#)) (let ((#{tmp\ 2580}# ($sc-dispatch #{tmp\ 2579}# '(any any . each-any)))) (if (if #{tmp\ 2580}# (@apply (lambda (#{docstring\ 2584}# #{e1\ 2585}# #{e2\ 2586}#) (string? (syntax->datum #{docstring\ 2584}#))) #{tmp\ 2580}#) #f) (@apply (lambda (#{docstring\ 2590}# #{e1\ 2591}# #{e2\ 2592}#) (#{expand-body\ 2445}# #{req\ 2559}# #{opt\ 2560}# #{rest\ 2561}# #{kw\ 2562}# (cons #{e1\ 2591}# #{e2\ 2592}#) #{vars\ 2564}# #{r*\ 2565}# #{w*\ 2566}# #{inits\ 2567}# (append #{meta\ 2568}# (list (cons 'documentation (syntax->datum #{docstring\ 2590}#)))))) #{tmp\ 2580}#) (let ((#{tmp\ 2595}# ($sc-dispatch #{tmp\ 2579}# '(#(vector #(each (any . any))) any . each-any)))) (if #{tmp\ 2595}# (@apply (lambda (#{k\ 2600}# #{v\ 2601}# #{e1\ 2602}# #{e2\ 2603}#) (#{expand-body\ 2445}# #{req\ 2559}# #{opt\ 2560}# #{rest\ 2561}# #{kw\ 2562}# (cons #{e1\ 2602}# #{e2\ 2603}#) #{vars\ 2564}# #{r*\ 2565}# #{w*\ 2566}# #{inits\ 2567}# (append #{meta\ 2568}# (syntax->datum (map cons #{k\ 2600}# #{v\ 2601}#))))) #{tmp\ 2595}#) (let ((#{tmp\ 2607}# ($sc-dispatch #{tmp\ 2579}# '(any . each-any)))) (if #{tmp\ 2607}# (@apply (lambda (#{e1\ 2610}# #{e2\ 2611}#) (values #{meta\ 2568}# #{req\ 2559}# #{opt\ 2560}# #{rest\ 2561}# #{kw\ 2562}# #{inits\ 2567}# #{vars\ 2564}# (#{chi-body\ 473}# (cons #{e1\ 2610}# #{e2\ 2611}#) (#{source-wrap\ 451}# #{e\ 2424}# #{w\ 2426}# #{s\ 2427}# #{mod\ 2428}#) #{r*\ 2565}# #{w*\ 2566}# #{mod\ 2428}#))) #{tmp\ 2607}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2579}#))))))))))) (begin (let ((#{tmp\ 2613}# #{clauses\ 2430}#)) (let ((#{tmp\ 2614}# ($sc-dispatch #{tmp\ 2613}# (quote ())))) (if #{tmp\ 2614}# (@apply (lambda () (values (quote ()) #f)) #{tmp\ 2614}#) (let ((#{tmp\ 2615}# ($sc-dispatch #{tmp\ 2613}# '((any any . each-any) . #(each (any any . each-any)))))) (if #{tmp\ 2615}# (@apply (lambda (#{args\ 2622}# #{e1\ 2623}# #{e2\ 2624}# #{args*\ 2625}# #{e1*\ 2626}# #{e2*\ 2627}#) (call-with-values (lambda () (#{get-formals\ 2429}# #{args\ 2622}#)) (lambda (#{req\ 2628}# #{opt\ 2629}# #{rest\ 2630}# #{kw\ 2631}#) (call-with-values (lambda () (#{expand-req\ 2439}# #{req\ 2628}# #{opt\ 2629}# #{rest\ 2630}# #{kw\ 2631}# (cons #{e1\ 2623}# #{e2\ 2624}#))) (lambda (#{meta\ 2637}# #{req\ 2638}# #{opt\ 2639}# #{rest\ 2640}# #{kw\ 2641}# #{inits\ 2642}# #{vars\ 2643}# #{body\ 2644}#) (call-with-values (lambda () (#{chi-lambda-case\ 489}# #{e\ 2424}# #{r\ 2425}# #{w\ 2426}# #{s\ 2427}# #{mod\ 2428}# #{get-formals\ 2429}# (map (lambda (#{tmp\ 2655}# #{tmp\ 2654}# #{tmp\ 2653}#) (cons #{tmp\ 2653}# (cons #{tmp\ 2654}# #{tmp\ 2655}#))) #{e2*\ 2627}# #{e1*\ 2626}# #{args*\ 2625}#))) (lambda (#{meta*\ 2657}# #{else*\ 2658}#) (values (append #{meta\ 2637}# #{meta*\ 2657}#) (#{build-lambda-case\ 326}# #{s\ 2427}# #{req\ 2638}# #{opt\ 2639}# #{rest\ 2640}# #{kw\ 2641}# #{inits\ 2642}# #{vars\ 2643}# #{body\ 2644}# #{else*\ 2658}#))))))))) #{tmp\ 2615}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2613}#)))))))))) (#{strip\ 491}# (lambda (#{x\ 2661}# #{w\ 2662}#) (if (memq 'top (#{wrap-marks\ 387}# #{w\ 2662}#)) #{x\ 2661}# (letrec* ((#{f\ 2668}# (lambda (#{x\ 2669}#) (if (#{syntax-object?\ 344}# #{x\ 2669}#) (#{strip\ 491}# (#{syntax-object-expression\ 346}# #{x\ 2669}#) (#{syntax-object-wrap\ 348}# #{x\ 2669}#)) (if (pair? #{x\ 2669}#) (begin (let ((#{a\ 2676}# (#{f\ 2668}# (car #{x\ 2669}#))) (#{d\ 2677}# (#{f\ 2668}# (cdr #{x\ 2669}#)))) (if (if (eq? #{a\ 2676}# (car #{x\ 2669}#)) (eq? #{d\ 2677}# (cdr #{x\ 2669}#)) #f) #{x\ 2669}# (cons #{a\ 2676}# #{d\ 2677}#)))) (if (vector? #{x\ 2669}#) (begin (let ((#{old\ 2683}# (vector->list #{x\ 2669}#))) (begin (let ((#{new\ 2685}# (map #{f\ 2668}# #{old\ 2683}#))) (if (#{and-map*\ 36}# eq? #{old\ 2683}# #{new\ 2685}#) #{x\ 2669}# (list->vector #{new\ 2685}#)))))) #{x\ 2669}#)))))) (begin (#{f\ 2668}# #{x\ 2661}#)))))) (#{gen-var\ 493}# (lambda (#{id\ 2687}#) (begin (let ((#{id\ 2690}# (if (#{syntax-object?\ 344}# #{id\ 2687}#) (#{syntax-object-expression\ 346}# #{id\ 2687}#) #{id\ 2687}#))) (gensym (string-append (symbol->string #{id\ 2690}#) " ")))))) (#{lambda-var-list\ 495}# (lambda (#{vars\ 2692}#) (letrec* ((#{lvl\ 2698}# (lambda (#{vars\ 2699}# #{ls\ 2700}# #{w\ 2701}#) (if (pair? #{vars\ 2699}#) (#{lvl\ 2698}# (cdr #{vars\ 2699}#) (cons (#{wrap\ 449}# (car #{vars\ 2699}#) #{w\ 2701}# #f) #{ls\ 2700}#) #{w\ 2701}#) (if (#{id?\ 380}# #{vars\ 2699}#) (cons (#{wrap\ 449}# #{vars\ 2699}# #{w\ 2701}# #f) #{ls\ 2700}#) (if (null? #{vars\ 2699}#) #{ls\ 2700}# (if (#{syntax-object?\ 344}# #{vars\ 2699}#) (#{lvl\ 2698}# (#{syntax-object-expression\ 346}# #{vars\ 2699}#) #{ls\ 2700}# (#{join-wraps\ 431}# #{w\ 2701}# (#{syntax-object-wrap\ 348}# #{vars\ 2699}#))) (cons #{vars\ 2699}# #{ls\ 2700}#)))))))) (begin (#{lvl\ 2698}# #{vars\ 2692}# '() '(()))))))) (begin (set! #{make-primitive-ref\ 242}# (lambda (#{src\ 704}# #{name\ 705}#) (make-struct/no-tail (vector-ref %expanded-vtables 2) #{src\ 704}# #{name\ 705}#))) (set! #{fx+\ 281}# +) (set! #{fx-\ 283}# -) (set! #{fx=\ 285}# =) (set! #{fx<\ 287}# <) (set! #{set-syntax-object-expression!\ 352}# (lambda (#{x\ 1082}# #{update\ 1083}#) (vector-set! #{x\ 1082}# 1 #{update\ 1083}#))) (set! #{set-syntax-object-wrap!\ 354}# (lambda (#{x\ 1086}# #{update\ 1087}#) (vector-set! #{x\ 1086}# 2 #{update\ 1087}#))) (set! #{set-syntax-object-module!\ 356}# (lambda (#{x\ 1090}# #{update\ 1091}#) (vector-set! #{x\ 1090}# 3 #{update\ 1091}#))) (set! #{binding-type\ 363}# car) (set! #{binding-value\ 365}# cdr) (set! #{make-wrap\ 385}# cons) (set! #{wrap-marks\ 387}# car) (set! #{wrap-subst\ 389}# cdr) (set! #{ribcage?\ 403}# (lambda (#{x\ 1168}#) (if (vector? #{x\ 1168}#) (if (= (vector-length #{x\ 1168}#) 4) (eq? (vector-ref #{x\ 1168}# 0) (quote ribcage)) #f) #f))) (begin (#{global-extend\ 376}# 'local-syntax 'letrec-syntax #t) (#{global-extend\ 376}# 'local-syntax 'let-syntax #f) (#{global-extend\ 376}# 'core 'fluid-let-syntax (lambda (#{e\ 2712}# #{r\ 2713}# #{w\ 2714}# #{s\ 2715}# #{mod\ 2716}#) (let ((#{tmp\ 2722}# #{e\ 2712}#)) (let ((#{tmp\ 2723}# ($sc-dispatch #{tmp\ 2722}# '(_ #(each (any any)) any . each-any)))) (if (if #{tmp\ 2723}# (@apply (lambda (#{var\ 2728}# #{val\ 2729}# #{e1\ 2730}# #{e2\ 2731}#) (#{valid-bound-ids?\ 443}# #{var\ 2728}#)) #{tmp\ 2723}#) #f) (@apply (lambda (#{var\ 2737}# #{val\ 2738}# #{e1\ 2739}# #{e2\ 2740}#) (begin (let ((#{names\ 2742}# (map (lambda (#{x\ 2743}#) (#{id-var-name\ 437}# #{x\ 2743}# #{w\ 2714}#)) #{var\ 2737}#))) (begin (for-each (lambda (#{id\ 2746}# #{n\ 2747}#) (begin (let ((#{atom-key\ 2752}# (#{binding-type\ 363}# (#{lookup\ 374}# #{n\ 2747}# #{r\ 2713}# #{mod\ 2716}#)))) (if (eqv? #{atom-key\ 2752}# 'displaced-lexical) (syntax-violation 'fluid-let-syntax "identifier out of context" #{e\ 2712}# (#{source-wrap\ 451}# #{id\ 2746}# #{w\ 2714}# #{s\ 2715}# #{mod\ 2716}#)))))) #{var\ 2737}# #{names\ 2742}#) (#{chi-body\ 473}# (cons #{e1\ 2739}# #{e2\ 2740}#) (#{source-wrap\ 451}# #{e\ 2712}# #{w\ 2714}# #{s\ 2715}# #{mod\ 2716}#) (#{extend-env\ 368}# #{names\ 2742}# (begin (let ((#{trans-r\ 2757}# (#{macros-only-env\ 372}# #{r\ 2713}#))) (map (lambda (#{x\ 2758}#) (cons 'macro (#{eval-local-transformer\ 477}# (#{chi\ 465}# #{x\ 2758}# #{trans-r\ 2757}# #{w\ 2714}# #{mod\ 2716}#) #{mod\ 2716}#))) #{val\ 2738}#))) #{r\ 2713}#) #{w\ 2714}# #{mod\ 2716}#))))) #{tmp\ 2723}#) (let ((#{_\ 2763}# #{tmp\ 2722}#)) (syntax-violation 'fluid-let-syntax "bad syntax" (#{source-wrap\ 451}# #{e\ 2712}# #{w\ 2714}# #{s\ 2715}# #{mod\ 2716}#)))))))) (#{global-extend\ 376}# 'core 'quote (lambda (#{e\ 2764}# #{r\ 2765}# #{w\ 2766}# #{s\ 2767}# #{mod\ 2768}#) (let ((#{tmp\ 2774}# #{e\ 2764}#)) (let ((#{tmp\ 2775}# ($sc-dispatch #{tmp\ 2774}# (quote (_ any))))) (if #{tmp\ 2775}# (@apply (lambda (#{e\ 2777}#) (#{build-data\ 330}# #{s\ 2767}# (#{strip\ 491}# #{e\ 2777}# #{w\ 2766}#))) #{tmp\ 2775}#) (let ((#{_\ 2779}# #{tmp\ 2774}#)) (syntax-violation 'quote "bad syntax" (#{source-wrap\ 451}# #{e\ 2764}# #{w\ 2766}# #{s\ 2767}# #{mod\ 2768}#)))))))) (#{global-extend\ 376}# 'core 'syntax (letrec* ((#{gen-syntax\ 2781}# (lambda (#{src\ 2796}# #{e\ 2797}# #{r\ 2798}# #{maps\ 2799}# #{ellipsis?\ 2800}# #{mod\ 2801}#) (if (#{id?\ 380}# #{e\ 2797}#) (begin (let ((#{label\ 2809}# (#{id-var-name\ 437}# #{e\ 2797}# '(())))) (begin (let ((#{b\ 2812}# (#{lookup\ 374}# #{label\ 2809}# #{r\ 2798}# #{mod\ 2801}#))) (if (eq? (#{binding-type\ 363}# #{b\ 2812}#) 'syntax) (call-with-values (lambda () (begin (let ((#{var.lev\ 2814}# (#{binding-value\ 365}# #{b\ 2812}#))) (#{gen-ref\ 2783}# #{src\ 2796}# (car #{var.lev\ 2814}#) (cdr #{var.lev\ 2814}#) #{maps\ 2799}#)))) (lambda (#{var\ 2815}# #{maps\ 2816}#) (values (list (quote ref) #{var\ 2815}#) #{maps\ 2816}#))) (if (#{ellipsis?\ 2800}# #{e\ 2797}#) (syntax-violation 'syntax "misplaced ellipsis" #{src\ 2796}#) (values (list (quote quote) #{e\ 2797}#) #{maps\ 2799}#))))))) (let ((#{tmp\ 2821}# #{e\ 2797}#)) (let ((#{tmp\ 2822}# ($sc-dispatch #{tmp\ 2821}# '(any any)))) (if (if #{tmp\ 2822}# (@apply (lambda (#{dots\ 2825}# #{e\ 2826}#) (#{ellipsis?\ 2800}# #{dots\ 2825}#)) #{tmp\ 2822}#) #f) (@apply (lambda (#{dots\ 2829}# #{e\ 2830}#) (#{gen-syntax\ 2781}# #{src\ 2796}# #{e\ 2830}# #{r\ 2798}# #{maps\ 2799}# (lambda (#{x\ 2831}#) #f) #{mod\ 2801}#)) #{tmp\ 2822}#) (let ((#{tmp\ 2833}# ($sc-dispatch #{tmp\ 2821}# '(any any . any)))) (if (if #{tmp\ 2833}# (@apply (lambda (#{x\ 2837}# #{dots\ 2838}# #{y\ 2839}#) (#{ellipsis?\ 2800}# #{dots\ 2838}#)) #{tmp\ 2833}#) #f) (@apply (lambda (#{x\ 2843}# #{dots\ 2844}# #{y\ 2845}#) (letrec* ((#{f\ 2849}# (lambda (#{y\ 2850}# #{k\ 2851}#) (let ((#{tmp\ 2858}# #{y\ 2850}#)) (let ((#{tmp\ 2859}# ($sc-dispatch #{tmp\ 2858}# '(any . any)))) (if (if #{tmp\ 2859}# (@apply (lambda (#{dots\ 2862}# #{y\ 2863}#) (#{ellipsis?\ 2800}# #{dots\ 2862}#)) #{tmp\ 2859}#) #f) (@apply (lambda (#{dots\ 2866}# #{y\ 2867}#) (#{f\ 2849}# #{y\ 2867}# (lambda (#{maps\ 2868}#) (call-with-values (lambda () (#{k\ 2851}# (cons '() #{maps\ 2868}#))) (lambda (#{x\ 2870}# #{maps\ 2871}#) (if (null? (car #{maps\ 2871}#)) (syntax-violation 'syntax "extra ellipsis" #{src\ 2796}#) (values (#{gen-mappend\ 2785}# #{x\ 2870}# (car #{maps\ 2871}#)) (cdr #{maps\ 2871}#)))))))) #{tmp\ 2859}#) (let ((#{_\ 2875}# #{tmp\ 2858}#)) (call-with-values (lambda () (#{gen-syntax\ 2781}# #{src\ 2796}# #{y\ 2850}# #{r\ 2798}# #{maps\ 2799}# #{ellipsis?\ 2800}# #{mod\ 2801}#)) (lambda (#{y\ 2876}# #{maps\ 2877}#) (call-with-values (lambda () (#{k\ 2851}# #{maps\ 2877}#)) (lambda (#{x\ 2880}# #{maps\ 2881}#) (values (#{gen-append\ 2791}# #{x\ 2880}# #{y\ 2876}#) #{maps\ 2881}#)))))))))))) (begin (#{f\ 2849}# #{y\ 2845}# (lambda (#{maps\ 2852}#) (call-with-values (lambda () (#{gen-syntax\ 2781}# #{src\ 2796}# #{x\ 2843}# #{r\ 2798}# (cons '() #{maps\ 2852}#) #{ellipsis?\ 2800}# #{mod\ 2801}#)) (lambda (#{x\ 2854}# #{maps\ 2855}#) (if (null? (car #{maps\ 2855}#)) (syntax-violation 'syntax "extra ellipsis" #{src\ 2796}#) (values (#{gen-map\ 2787}# #{x\ 2854}# (car #{maps\ 2855}#)) (cdr #{maps\ 2855}#)))))))))) #{tmp\ 2833}#) (let ((#{tmp\ 2884}# ($sc-dispatch #{tmp\ 2821}# '(any . any)))) (if #{tmp\ 2884}# (@apply (lambda (#{x\ 2887}# #{y\ 2888}#) (call-with-values (lambda () (#{gen-syntax\ 2781}# #{src\ 2796}# #{x\ 2887}# #{r\ 2798}# #{maps\ 2799}# #{ellipsis?\ 2800}# #{mod\ 2801}#)) (lambda (#{x\ 2889}# #{maps\ 2890}#) (call-with-values (lambda () (#{gen-syntax\ 2781}# #{src\ 2796}# #{y\ 2888}# #{r\ 2798}# #{maps\ 2890}# #{ellipsis?\ 2800}# #{mod\ 2801}#)) (lambda (#{y\ 2893}# #{maps\ 2894}#) (values (#{gen-cons\ 2789}# #{x\ 2889}# #{y\ 2893}#) #{maps\ 2894}#)))))) #{tmp\ 2884}#) (let ((#{tmp\ 2897}# ($sc-dispatch #{tmp\ 2821}# '#(vector (any . each-any))))) (if #{tmp\ 2897}# (@apply (lambda (#{e1\ 2900}# #{e2\ 2901}#) (call-with-values (lambda () (#{gen-syntax\ 2781}# #{src\ 2796}# (cons #{e1\ 2900}# #{e2\ 2901}#) #{r\ 2798}# #{maps\ 2799}# #{ellipsis?\ 2800}# #{mod\ 2801}#)) (lambda (#{e\ 2903}# #{maps\ 2904}#) (values (#{gen-vector\ 2793}# #{e\ 2903}#) #{maps\ 2904}#)))) #{tmp\ 2897}#) (let ((#{_\ 2908}# #{tmp\ 2821}#)) (values (list (quote quote) #{e\ 2797}#) #{maps\ 2799}#)))))))))))))) (#{gen-ref\ 2783}# (lambda (#{src\ 2910}# #{var\ 2911}# #{level\ 2912}# #{maps\ 2913}#) (if (#{fx=\ 285}# #{level\ 2912}# 0) (values #{var\ 2911}# #{maps\ 2913}#) (if (null? #{maps\ 2913}#) (syntax-violation 'syntax "missing ellipsis" #{src\ 2910}#) (call-with-values (lambda () (#{gen-ref\ 2783}# #{src\ 2910}# #{var\ 2911}# (#{fx-\ 283}# #{level\ 2912}# 1) (cdr #{maps\ 2913}#))) (lambda (#{outer-var\ 2918}# #{outer-maps\ 2919}#) (begin (let ((#{b\ 2923}# (assq #{outer-var\ 2918}# (car #{maps\ 2913}#)))) (if #{b\ 2923}# (values (cdr #{b\ 2923}#) #{maps\ 2913}#) (begin (let ((#{inner-var\ 2925}# (#{gen-var\ 493}# (quote tmp)))) (values #{inner-var\ 2925}# (cons (cons (cons #{outer-var\ 2918}# #{inner-var\ 2925}#) (car #{maps\ 2913}#)) #{outer-maps\ 2919}#))))))))))))) (#{gen-mappend\ 2785}# (lambda (#{e\ 2926}# #{map-env\ 2927}#) (list 'apply '(primitive append) (#{gen-map\ 2787}# #{e\ 2926}# #{map-env\ 2927}#)))) (#{gen-map\ 2787}# (lambda (#{e\ 2931}# #{map-env\ 2932}#) (begin (let ((#{formals\ 2937}# (map cdr #{map-env\ 2932}#)) (#{actuals\ 2938}# (map (lambda (#{x\ 2939}#) (list (quote ref) (car #{x\ 2939}#))) #{map-env\ 2932}#))) (if (eq? (car #{e\ 2931}#) (quote ref)) (car #{actuals\ 2938}#) (if (and-map (lambda (#{x\ 2946}#) (if (eq? (car #{x\ 2946}#) (quote ref)) (memq (car (cdr #{x\ 2946}#)) #{formals\ 2937}#) #f)) (cdr #{e\ 2931}#)) (cons 'map (cons (list 'primitive (car #{e\ 2931}#)) (map (begin (let ((#{r\ 2952}# (map cons #{formals\ 2937}# #{actuals\ 2938}#))) (lambda (#{x\ 2953}#) (cdr (assq (car (cdr #{x\ 2953}#)) #{r\ 2952}#))))) (cdr #{e\ 2931}#)))) (cons 'map (cons (list 'lambda #{formals\ 2937}# #{e\ 2931}#) #{actuals\ 2938}#)))))))) (#{gen-cons\ 2789}# (lambda (#{x\ 2957}# #{y\ 2958}#) (begin (let ((#{atom-key\ 2963}# (car #{y\ 2958}#))) (if (eqv? #{atom-key\ 2963}# (quote quote)) (if (eq? (car #{x\ 2957}#) (quote quote)) (list 'quote (cons (car (cdr #{x\ 2957}#)) (car (cdr #{y\ 2958}#)))) (if (eq? (car (cdr #{y\ 2958}#)) (quote ())) (list (quote list) #{x\ 2957}#) (list (quote cons) #{x\ 2957}# #{y\ 2958}#))) (if (eqv? #{atom-key\ 2963}# (quote list)) (cons 'list (cons #{x\ 2957}# (cdr #{y\ 2958}#))) (list (quote cons) #{x\ 2957}# #{y\ 2958}#))))))) (#{gen-append\ 2791}# (lambda (#{x\ 2972}# #{y\ 2973}#) (if (equal? #{y\ 2973}# (quote (quote ()))) #{x\ 2972}# (list (quote append) #{x\ 2972}# #{y\ 2973}#)))) (#{gen-vector\ 2793}# (lambda (#{x\ 2977}#) (if (eq? (car #{x\ 2977}#) (quote list)) (cons (quote vector) (cdr #{x\ 2977}#)) (if (eq? (car #{x\ 2977}#) (quote quote)) (list 'quote (list->vector (car (cdr #{x\ 2977}#)))) (list (quote list->vector) #{x\ 2977}#))))) (#{regen\ 2795}# (lambda (#{x\ 2987}#) (begin (let ((#{atom-key\ 2991}# (car #{x\ 2987}#))) (if (eqv? #{atom-key\ 2991}# (quote ref)) (#{build-lexical-reference\ 310}# 'value #f (car (cdr #{x\ 2987}#)) (car (cdr #{x\ 2987}#))) (if (eqv? #{atom-key\ 2991}# (quote primitive)) (#{build-primref\ 328}# #f (car (cdr #{x\ 2987}#))) (if (eqv? #{atom-key\ 2991}# (quote quote)) (#{build-data\ 330}# #f (car (cdr #{x\ 2987}#))) (if (eqv? #{atom-key\ 2991}# (quote lambda)) (if (list? (car (cdr #{x\ 2987}#))) (#{build-simple-lambda\ 322}# #f (car (cdr #{x\ 2987}#)) #f (car (cdr #{x\ 2987}#)) '() (#{regen\ 2795}# (car (cdr (cdr #{x\ 2987}#))))) (error "how did we get here" #{x\ 2987}#)) (#{build-application\ 304}# #f (#{build-primref\ 328}# #f (car #{x\ 2987}#)) (map #{regen\ 2795}# (cdr #{x\ 2987}#)))))))))))) (begin (lambda (#{e\ 3003}# #{r\ 3004}# #{w\ 3005}# #{s\ 3006}# #{mod\ 3007}#) (begin (let ((#{e\ 3014}# (#{source-wrap\ 451}# #{e\ 3003}# #{w\ 3005}# #{s\ 3006}# #{mod\ 3007}#))) (let ((#{tmp\ 3015}# #{e\ 3014}#)) (let ((#{tmp\ 3016}# ($sc-dispatch #{tmp\ 3015}# '(_ any)))) (if #{tmp\ 3016}# (@apply (lambda (#{x\ 3018}#) (call-with-values (lambda () (#{gen-syntax\ 2781}# #{e\ 3014}# #{x\ 3018}# #{r\ 3004}# '() #{ellipsis?\ 481}# #{mod\ 3007}#)) (lambda (#{e\ 3019}# #{maps\ 3020}#) (#{regen\ 2795}# #{e\ 3019}#)))) #{tmp\ 3016}#) (let ((#{_\ 3024}# #{tmp\ 3015}#)) (syntax-violation 'syntax "bad `syntax' form" #{e\ 3014}#))))))))))) (#{global-extend\ 376}# 'core 'lambda (lambda (#{e\ 3025}# #{r\ 3026}# #{w\ 3027}# #{s\ 3028}# #{mod\ 3029}#) (let ((#{tmp\ 3035}# #{e\ 3025}#)) (let ((#{tmp\ 3036}# ($sc-dispatch #{tmp\ 3035}# '(_ any any . each-any)))) (if #{tmp\ 3036}# (@apply (lambda (#{args\ 3040}# #{e1\ 3041}# #{e2\ 3042}#) (call-with-values (lambda () (#{lambda-formals\ 483}# #{args\ 3040}#)) (lambda (#{req\ 3043}# #{opt\ 3044}# #{rest\ 3045}# #{kw\ 3046}#) (letrec* ((#{lp\ 3054}# (lambda (#{body\ 3055}# #{meta\ 3056}#) (let ((#{tmp\ 3058}# #{body\ 3055}#)) (let ((#{tmp\ 3059}# ($sc-dispatch #{tmp\ 3058}# '(any any . each-any)))) (if (if #{tmp\ 3059}# (@apply (lambda (#{docstring\ 3063}# #{e1\ 3064}# #{e2\ 3065}#) (string? (syntax->datum #{docstring\ 3063}#))) #{tmp\ 3059}#) #f) (@apply (lambda (#{docstring\ 3069}# #{e1\ 3070}# #{e2\ 3071}#) (#{lp\ 3054}# (cons #{e1\ 3070}# #{e2\ 3071}#) (append #{meta\ 3056}# (list (cons 'documentation (syntax->datum #{docstring\ 3069}#)))))) #{tmp\ 3059}#) (let ((#{tmp\ 3074}# ($sc-dispatch #{tmp\ 3058}# '(#(vector #(each (any . any))) any . each-any)))) (if #{tmp\ 3074}# (@apply (lambda (#{k\ 3079}# #{v\ 3080}# #{e1\ 3081}# #{e2\ 3082}#) (#{lp\ 3054}# (cons #{e1\ 3081}# #{e2\ 3082}#) (append #{meta\ 3056}# (syntax->datum (map cons #{k\ 3079}# #{v\ 3080}#))))) #{tmp\ 3074}#) (let ((#{_\ 3087}# #{tmp\ 3058}#)) (#{chi-simple-lambda\ 485}# #{e\ 3025}# #{r\ 3026}# #{w\ 3027}# #{s\ 3028}# #{mod\ 3029}# #{req\ 3043}# #{rest\ 3045}# #{meta\ 3056}# #{body\ 3055}#)))))))))) (begin (#{lp\ 3054}# (cons #{e1\ 3041}# #{e2\ 3042}#) '())))))) #{tmp\ 3036}#) (let ((#{_\ 3089}# #{tmp\ 3035}#)) (syntax-violation 'lambda "bad lambda" #{e\ 3025}#))))))) (#{global-extend\ 376}# 'core 'lambda* (lambda (#{e\ 3090}# #{r\ 3091}# #{w\ 3092}# #{s\ 3093}# #{mod\ 3094}#) (let ((#{tmp\ 3100}# #{e\ 3090}#)) (let ((#{tmp\ 3101}# ($sc-dispatch #{tmp\ 3100}# '(_ any any . each-any)))) (if #{tmp\ 3101}# (@apply (lambda (#{args\ 3105}# #{e1\ 3106}# #{e2\ 3107}#) (call-with-values (lambda () (#{chi-lambda-case\ 489}# #{e\ 3090}# #{r\ 3091}# #{w\ 3092}# #{s\ 3093}# #{mod\ 3094}# #{lambda*-formals\ 487}# (list (cons #{args\ 3105}# (cons #{e1\ 3106}# #{e2\ 3107}#))))) (lambda (#{meta\ 3109}# #{lcase\ 3110}#) (#{build-case-lambda\ 324}# #{s\ 3093}# #{meta\ 3109}# #{lcase\ 3110}#)))) #{tmp\ 3101}#) (let ((#{_\ 3114}# #{tmp\ 3100}#)) (syntax-violation 'lambda "bad lambda*" #{e\ 3090}#))))))) (#{global-extend\ 376}# 'core 'case-lambda (lambda (#{e\ 3115}# #{r\ 3116}# #{w\ 3117}# #{s\ 3118}# #{mod\ 3119}#) (let ((#{tmp\ 3125}# #{e\ 3115}#)) (let ((#{tmp\ 3126}# ($sc-dispatch #{tmp\ 3125}# '(_ (any any . each-any) . #(each (any any . each-any)))))) (if #{tmp\ 3126}# (@apply (lambda (#{args\ 3133}# #{e1\ 3134}# #{e2\ 3135}# #{args*\ 3136}# #{e1*\ 3137}# #{e2*\ 3138}#) (call-with-values (lambda () (#{chi-lambda-case\ 489}# #{e\ 3115}# #{r\ 3116}# #{w\ 3117}# #{s\ 3118}# #{mod\ 3119}# #{lambda-formals\ 483}# (cons (cons #{args\ 3133}# (cons #{e1\ 3134}# #{e2\ 3135}#)) (map (lambda (#{tmp\ 3142}# #{tmp\ 3141}# #{tmp\ 3140}#) (cons #{tmp\ 3140}# (cons #{tmp\ 3141}# #{tmp\ 3142}#))) #{e2*\ 3138}# #{e1*\ 3137}# #{args*\ 3136}#)))) (lambda (#{meta\ 3144}# #{lcase\ 3145}#) (#{build-case-lambda\ 324}# #{s\ 3118}# #{meta\ 3144}# #{lcase\ 3145}#)))) #{tmp\ 3126}#) (let ((#{_\ 3149}# #{tmp\ 3125}#)) (syntax-violation 'case-lambda "bad case-lambda" #{e\ 3115}#))))))) (#{global-extend\ 376}# 'core 'case-lambda* (lambda (#{e\ 3150}# #{r\ 3151}# #{w\ 3152}# #{s\ 3153}# #{mod\ 3154}#) (let ((#{tmp\ 3160}# #{e\ 3150}#)) (let ((#{tmp\ 3161}# ($sc-dispatch #{tmp\ 3160}# '(_ (any any . each-any) . #(each (any any . each-any)))))) (if #{tmp\ 3161}# (@apply (lambda (#{args\ 3168}# #{e1\ 3169}# #{e2\ 3170}# #{args*\ 3171}# #{e1*\ 3172}# #{e2*\ 3173}#) (call-with-values (lambda () (#{chi-lambda-case\ 489}# #{e\ 3150}# #{r\ 3151}# #{w\ 3152}# #{s\ 3153}# #{mod\ 3154}# #{lambda*-formals\ 487}# (cons (cons #{args\ 3168}# (cons #{e1\ 3169}# #{e2\ 3170}#)) (map (lambda (#{tmp\ 3177}# #{tmp\ 3176}# #{tmp\ 3175}#) (cons #{tmp\ 3175}# (cons #{tmp\ 3176}# #{tmp\ 3177}#))) #{e2*\ 3173}# #{e1*\ 3172}# #{args*\ 3171}#)))) (lambda (#{meta\ 3179}# #{lcase\ 3180}#) (#{build-case-lambda\ 324}# #{s\ 3153}# #{meta\ 3179}# #{lcase\ 3180}#)))) #{tmp\ 3161}#) (let ((#{_\ 3184}# #{tmp\ 3160}#)) (syntax-violation 'case-lambda "bad case-lambda*" #{e\ 3150}#))))))) (#{global-extend\ 376}# 'core 'let (letrec* ((#{chi-let\ 3186}# (lambda (#{e\ 3187}# #{r\ 3188}# #{w\ 3189}# #{s\ 3190}# #{mod\ 3191}# #{constructor\ 3192}# #{ids\ 3193}# #{vals\ 3194}# #{exps\ 3195}#) (if (not (#{valid-bound-ids?\ 443}# #{ids\ 3193}#)) (syntax-violation 'let "duplicate bound variable" #{e\ 3187}#) (begin (let ((#{labels\ 3207}# (#{gen-labels\ 398}# #{ids\ 3193}#)) (#{new-vars\ 3208}# (map #{gen-var\ 493}# #{ids\ 3193}#))) (begin (let ((#{nw\ 3211}# (#{make-binding-wrap\ 427}# #{ids\ 3193}# #{labels\ 3207}# #{w\ 3189}#)) (#{nr\ 3212}# (#{extend-var-env\ 370}# #{labels\ 3207}# #{new-vars\ 3208}# #{r\ 3188}#))) (#{constructor\ 3192}# #{s\ 3190}# (map syntax->datum #{ids\ 3193}#) #{new-vars\ 3208}# (map (lambda (#{x\ 3213}#) (#{chi\ 465}# #{x\ 3213}# #{r\ 3188}# #{w\ 3189}# #{mod\ 3191}#)) #{vals\ 3194}#) (#{chi-body\ 473}# #{exps\ 3195}# (#{source-wrap\ 451}# #{e\ 3187}# #{nw\ 3211}# #{s\ 3190}# #{mod\ 3191}#) #{nr\ 3212}# #{nw\ 3211}# #{mod\ 3191}#)))))))))) (begin (lambda (#{e\ 3215}# #{r\ 3216}# #{w\ 3217}# #{s\ 3218}# #{mod\ 3219}#) (let ((#{tmp\ 3225}# #{e\ 3215}#)) (let ((#{tmp\ 3226}# ($sc-dispatch #{tmp\ 3225}# '(_ #(each (any any)) any . each-any)))) (if (if #{tmp\ 3226}# (@apply (lambda (#{id\ 3231}# #{val\ 3232}# #{e1\ 3233}# #{e2\ 3234}#) (and-map #{id?\ 380}# #{id\ 3231}#)) #{tmp\ 3226}#) #f) (@apply (lambda (#{id\ 3240}# #{val\ 3241}# #{e1\ 3242}# #{e2\ 3243}#) (#{chi-let\ 3186}# #{e\ 3215}# #{r\ 3216}# #{w\ 3217}# #{s\ 3218}# #{mod\ 3219}# #{build-let\ 334}# #{id\ 3240}# #{val\ 3241}# (cons #{e1\ 3242}# #{e2\ 3243}#))) #{tmp\ 3226}#) (let ((#{tmp\ 3247}# ($sc-dispatch #{tmp\ 3225}# '(_ any #(each (any any)) any . each-any)))) (if (if #{tmp\ 3247}# (@apply (lambda (#{f\ 3253}# #{id\ 3254}# #{val\ 3255}# #{e1\ 3256}# #{e2\ 3257}#) (if (#{id?\ 380}# #{f\ 3253}#) (and-map #{id?\ 380}# #{id\ 3254}#) #f)) #{tmp\ 3247}#) #f) (@apply (lambda (#{f\ 3266}# #{id\ 3267}# #{val\ 3268}# #{e1\ 3269}# #{e2\ 3270}#) (#{chi-let\ 3186}# #{e\ 3215}# #{r\ 3216}# #{w\ 3217}# #{s\ 3218}# #{mod\ 3219}# #{build-named-let\ 336}# (cons #{f\ 3266}# #{id\ 3267}#) #{val\ 3268}# (cons #{e1\ 3269}# #{e2\ 3270}#))) #{tmp\ 3247}#) (let ((#{_\ 3275}# #{tmp\ 3225}#)) (syntax-violation 'let "bad let" (#{source-wrap\ 451}# #{e\ 3215}# #{w\ 3217}# #{s\ 3218}# #{mod\ 3219}#)))))))))))) (#{global-extend\ 376}# 'core 'letrec (lambda (#{e\ 3276}# #{r\ 3277}# #{w\ 3278}# #{s\ 3279}# #{mod\ 3280}#) (let ((#{tmp\ 3286}# #{e\ 3276}#)) (let ((#{tmp\ 3287}# ($sc-dispatch #{tmp\ 3286}# '(_ #(each (any any)) any . each-any)))) (if (if #{tmp\ 3287}# (@apply (lambda (#{id\ 3292}# #{val\ 3293}# #{e1\ 3294}# #{e2\ 3295}#) (and-map #{id?\ 380}# #{id\ 3292}#)) #{tmp\ 3287}#) #f) (@apply (lambda (#{id\ 3301}# #{val\ 3302}# #{e1\ 3303}# #{e2\ 3304}#) (begin (let ((#{ids\ 3306}# #{id\ 3301}#)) (if (not (#{valid-bound-ids?\ 443}# #{ids\ 3306}#)) (syntax-violation 'letrec "duplicate bound variable" #{e\ 3276}#) (begin (let ((#{labels\ 3310}# (#{gen-labels\ 398}# #{ids\ 3306}#)) (#{new-vars\ 3311}# (map #{gen-var\ 493}# #{ids\ 3306}#))) (begin (let ((#{w\ 3314}# (#{make-binding-wrap\ 427}# #{ids\ 3306}# #{labels\ 3310}# #{w\ 3278}#)) (#{r\ 3315}# (#{extend-var-env\ 370}# #{labels\ 3310}# #{new-vars\ 3311}# #{r\ 3277}#))) (#{build-letrec\ 338}# #{s\ 3279}# #f (map syntax->datum #{ids\ 3306}#) #{new-vars\ 3311}# (map (lambda (#{x\ 3316}#) (#{chi\ 465}# #{x\ 3316}# #{r\ 3315}# #{w\ 3314}# #{mod\ 3280}#)) #{val\ 3302}#) (#{chi-body\ 473}# (cons #{e1\ 3303}# #{e2\ 3304}#) (#{source-wrap\ 451}# #{e\ 3276}# #{w\ 3314}# #{s\ 3279}# #{mod\ 3280}#) #{r\ 3315}# #{w\ 3314}# #{mod\ 3280}#)))))))))) #{tmp\ 3287}#) (let ((#{_\ 3321}# #{tmp\ 3286}#)) (syntax-violation 'letrec "bad letrec" (#{source-wrap\ 451}# #{e\ 3276}# #{w\ 3278}# #{s\ 3279}# #{mod\ 3280}#)))))))) (#{global-extend\ 376}# 'core 'letrec* (lambda (#{e\ 3322}# #{r\ 3323}# #{w\ 3324}# #{s\ 3325}# #{mod\ 3326}#) (let ((#{tmp\ 3332}# #{e\ 3322}#)) (let ((#{tmp\ 3333}# ($sc-dispatch #{tmp\ 3332}# '(_ #(each (any any)) any . each-any)))) (if (if #{tmp\ 3333}# (@apply (lambda (#{id\ 3338}# #{val\ 3339}# #{e1\ 3340}# #{e2\ 3341}#) (and-map #{id?\ 380}# #{id\ 3338}#)) #{tmp\ 3333}#) #f) (@apply (lambda (#{id\ 3347}# #{val\ 3348}# #{e1\ 3349}# #{e2\ 3350}#) (begin (let ((#{ids\ 3352}# #{id\ 3347}#)) (if (not (#{valid-bound-ids?\ 443}# #{ids\ 3352}#)) (syntax-violation 'letrec* "duplicate bound variable" #{e\ 3322}#) (begin (let ((#{labels\ 3356}# (#{gen-labels\ 398}# #{ids\ 3352}#)) (#{new-vars\ 3357}# (map #{gen-var\ 493}# #{ids\ 3352}#))) (begin (let ((#{w\ 3360}# (#{make-binding-wrap\ 427}# #{ids\ 3352}# #{labels\ 3356}# #{w\ 3324}#)) (#{r\ 3361}# (#{extend-var-env\ 370}# #{labels\ 3356}# #{new-vars\ 3357}# #{r\ 3323}#))) (#{build-letrec\ 338}# #{s\ 3325}# #t (map syntax->datum #{ids\ 3352}#) #{new-vars\ 3357}# (map (lambda (#{x\ 3362}#) (#{chi\ 465}# #{x\ 3362}# #{r\ 3361}# #{w\ 3360}# #{mod\ 3326}#)) #{val\ 3348}#) (#{chi-body\ 473}# (cons #{e1\ 3349}# #{e2\ 3350}#) (#{source-wrap\ 451}# #{e\ 3322}# #{w\ 3360}# #{s\ 3325}# #{mod\ 3326}#) #{r\ 3361}# #{w\ 3360}# #{mod\ 3326}#)))))))))) #{tmp\ 3333}#) (let ((#{_\ 3367}# #{tmp\ 3332}#)) (syntax-violation 'letrec* "bad letrec*" (#{source-wrap\ 451}# #{e\ 3322}# #{w\ 3324}# #{s\ 3325}# #{mod\ 3326}#)))))))) (#{global-extend\ 376}# 'core 'set! (lambda (#{e\ 3368}# #{r\ 3369}# #{w\ 3370}# #{s\ 3371}# #{mod\ 3372}#) (let ((#{tmp\ 3378}# #{e\ 3368}#)) (let ((#{tmp\ 3379}# ($sc-dispatch #{tmp\ 3378}# (quote (_ any any))))) (if (if #{tmp\ 3379}# (@apply (lambda (#{id\ 3382}# #{val\ 3383}#) (#{id?\ 380}# #{id\ 3382}#)) #{tmp\ 3379}#) #f) (@apply (lambda (#{id\ 3386}# #{val\ 3387}#) (begin (let ((#{n\ 3390}# (#{id-var-name\ 437}# #{id\ 3386}# #{w\ 3370}#)) (#{id-mod\ 3391}# (if (#{syntax-object?\ 344}# #{id\ 3386}#) (#{syntax-object-module\ 350}# #{id\ 3386}#) #{mod\ 3372}#))) (begin (let ((#{b\ 3393}# (#{lookup\ 374}# #{n\ 3390}# #{r\ 3369}# #{id-mod\ 3391}#))) (begin (let ((#{atom-key\ 3396}# (#{binding-type\ 363}# #{b\ 3393}#))) (if (eqv? #{atom-key\ 3396}# 'lexical) (#{build-lexical-assignment\ 312}# #{s\ 3371}# (syntax->datum #{id\ 3386}#) (#{binding-value\ 365}# #{b\ 3393}#) (#{chi\ 465}# #{val\ 3387}# #{r\ 3369}# #{w\ 3370}# #{mod\ 3372}#)) (if (eqv? #{atom-key\ 3396}# 'global) (#{build-global-assignment\ 318}# #{s\ 3371}# #{n\ 3390}# (#{chi\ 465}# #{val\ 3387}# #{r\ 3369}# #{w\ 3370}# #{mod\ 3372}#) #{id-mod\ 3391}#) (if (eqv? #{atom-key\ 3396}# 'macro) (begin (let ((#{p\ 3401}# (#{binding-value\ 365}# #{b\ 3393}#))) (if (procedure-property #{p\ 3401}# 'variable-transformer) (#{chi\ 465}# (#{chi-macro\ 471}# #{p\ 3401}# #{e\ 3368}# #{r\ 3369}# #{w\ 3370}# #{s\ 3371}# #f #{mod\ 3372}#) #{r\ 3369}# '(()) #{mod\ 3372}#) (syntax-violation 'set! "not a variable transformer" (#{wrap\ 449}# #{e\ 3368}# #{w\ 3370}# #{mod\ 3372}#) (#{wrap\ 449}# #{id\ 3386}# #{w\ 3370}# #{id-mod\ 3391}#))))) (if (eqv? #{atom-key\ 3396}# 'displaced-lexical) (syntax-violation 'set! "identifier out of context" (#{wrap\ 449}# #{id\ 3386}# #{w\ 3370}# #{mod\ 3372}#)) (syntax-violation 'set! "bad set!" (#{source-wrap\ 451}# #{e\ 3368}# #{w\ 3370}# #{s\ 3371}# #{mod\ 3372}#))))))))))))) #{tmp\ 3379}#) (let ((#{tmp\ 3405}# ($sc-dispatch #{tmp\ 3378}# '(_ (any . each-any) any)))) (if #{tmp\ 3405}# (@apply (lambda (#{head\ 3409}# #{tail\ 3410}# #{val\ 3411}#) (call-with-values (lambda () (#{syntax-type\ 461}# #{head\ 3409}# #{r\ 3369}# '(()) #f #f #{mod\ 3372}# #t)) (lambda (#{type\ 3414}# #{value\ 3415}# #{ee\ 3416}# #{ww\ 3417}# #{ss\ 3418}# #{modmod\ 3419}#) (if (eqv? #{type\ 3414}# (quote module-ref)) (begin (let ((#{val\ 3428}# (#{chi\ 465}# #{val\ 3411}# #{r\ 3369}# #{w\ 3370}# #{mod\ 3372}#))) (call-with-values (lambda () (#{value\ 3415}# (cons #{head\ 3409}# #{tail\ 3410}#) #{r\ 3369}# #{w\ 3370}#)) (lambda (#{e\ 3430}# #{r\ 3431}# #{w\ 3432}# #{s*\ 3433}# #{mod\ 3434}#) (let ((#{tmp\ 3440}# #{e\ 3430}#)) (let ((#{tmp\ 3441}# (list #{tmp\ 3440}#))) (if (if #{tmp\ 3441}# (@apply (lambda (#{e\ 3443}#) (#{id?\ 380}# #{e\ 3443}#)) #{tmp\ 3441}#) #f) (@apply (lambda (#{e\ 3445}#) (#{build-global-assignment\ 318}# #{s\ 3371}# (syntax->datum #{e\ 3445}#) #{val\ 3428}# #{mod\ 3434}#)) #{tmp\ 3441}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3440}#)))))))) (#{build-application\ 304}# #{s\ 3371}# (#{chi\ 465}# (list '#(syntax-object setter ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type value ee ww ss modmod) #((top) (top) (top) (top) (top) (top)) #("i3420" "i3421" "i3422" "i3423" "i3424" "i3425")) #(ribcage #(head tail val) #((top) (top) (top)) #("i3406" "i3407" "i3408")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) (top) (top) (top) (top)) #("i3373" "i3374" "i3375" "i3376" "i3377")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)) #{head\ 3409}#) #{r\ 3369}# #{w\ 3370}# #{mod\ 3372}#) (map (lambda (#{e\ 3447}#) (#{chi\ 465}# #{e\ 3447}# #{r\ 3369}# #{w\ 3370}# #{mod\ 3372}#)) (append #{tail\ 3410}# (list #{val\ 3411}#)))))))) #{tmp\ 3405}#) (let ((#{_\ 3451}# #{tmp\ 3378}#)) (syntax-violation 'set! "bad set!" (#{source-wrap\ 451}# #{e\ 3368}# #{w\ 3370}# #{s\ 3371}# #{mod\ 3372}#)))))))))) (#{global-extend\ 376}# 'module-ref '@ (lambda (#{e\ 3452}# #{r\ 3453}# #{w\ 3454}#) (let ((#{tmp\ 3458}# #{e\ 3452}#)) (let ((#{tmp\ 3459}# ($sc-dispatch #{tmp\ 3458}# '(_ each-any any)))) (if (if #{tmp\ 3459}# (@apply (lambda (#{mod\ 3462}# #{id\ 3463}#) (if (and-map #{id?\ 380}# #{mod\ 3462}#) (#{id?\ 380}# #{id\ 3463}#) #f)) #{tmp\ 3459}#) #f) (@apply (lambda (#{mod\ 3469}# #{id\ 3470}#) (values (syntax->datum #{id\ 3470}#) #{r\ 3453}# #{w\ 3454}# #f (syntax->datum (cons '#(syntax-object public ((top) #(ribcage #(mod id) #((top) (top)) #("i3467" "i3468")) #(ribcage () () ()) #(ribcage #(e r w) #((top) (top) (top)) #("i3455" "i3456" "i3457")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)) #{mod\ 3469}#)))) #{tmp\ 3459}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3458}#)))))) (#{global-extend\ 376}# 'module-ref '@@ (lambda (#{e\ 3472}# #{r\ 3473}# #{w\ 3474}#) (letrec* ((#{remodulate\ 3479}# (lambda (#{x\ 3480}# #{mod\ 3481}#) (if (pair? #{x\ 3480}#) (cons (#{remodulate\ 3479}# (car #{x\ 3480}#) #{mod\ 3481}#) (#{remodulate\ 3479}# (cdr #{x\ 3480}#) #{mod\ 3481}#)) (if (#{syntax-object?\ 344}# #{x\ 3480}#) (#{make-syntax-object\ 342}# (#{remodulate\ 3479}# (#{syntax-object-expression\ 346}# #{x\ 3480}#) #{mod\ 3481}#) (#{syntax-object-wrap\ 348}# #{x\ 3480}#) #{mod\ 3481}#) (if (vector? #{x\ 3480}#) (begin (let ((#{n\ 3492}# (vector-length #{x\ 3480}#))) (begin (let ((#{v\ 3494}# (make-vector #{n\ 3492}#))) (letrec* ((#{loop\ 3497}# (lambda (#{i\ 3498}#) (if (#{fx=\ 285}# #{i\ 3498}# #{n\ 3492}#) (begin (if #f #f) #{v\ 3494}#) (begin (vector-set! #{v\ 3494}# #{i\ 3498}# (#{remodulate\ 3479}# (vector-ref #{x\ 3480}# #{i\ 3498}#) #{mod\ 3481}#)) (#{loop\ 3497}# (#{fx+\ 281}# #{i\ 3498}# 1))))))) (begin (#{loop\ 3497}# 0))))))) #{x\ 3480}#)))))) (begin (let ((#{tmp\ 3502}# #{e\ 3472}#)) (let ((#{tmp\ 3503}# ($sc-dispatch #{tmp\ 3502}# '(_ each-any any)))) (if (if #{tmp\ 3503}# (@apply (lambda (#{mod\ 3506}# #{exp\ 3507}#) (and-map #{id?\ 380}# #{mod\ 3506}#)) #{tmp\ 3503}#) #f) (@apply (lambda (#{mod\ 3511}# #{exp\ 3512}#) (begin (let ((#{mod\ 3514}# (syntax->datum (cons '#(syntax-object private ((top) #(ribcage #(mod exp) #((top) (top)) #("i3509" "i3510")) #(ribcage (remodulate) ((top)) ("i3478")) #(ribcage #(e r w) #((top) (top) (top)) #("i3475" "i3476" "i3477")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)) #{mod\ 3511}#)))) (values (#{remodulate\ 3479}# #{exp\ 3512}# #{mod\ 3514}#) #{r\ 3473}# #{w\ 3474}# (#{source-annotation\ 359}# #{exp\ 3512}#) #{mod\ 3514}#)))) #{tmp\ 3503}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3502}#)))))))) (#{global-extend\ 376}# 'core 'if (lambda (#{e\ 3516}# #{r\ 3517}# #{w\ 3518}# #{s\ 3519}# #{mod\ 3520}#) (let ((#{tmp\ 3526}# #{e\ 3516}#)) (let ((#{tmp\ 3527}# ($sc-dispatch #{tmp\ 3526}# (quote (_ any any))))) (if #{tmp\ 3527}# (@apply (lambda (#{test\ 3530}# #{then\ 3531}#) (#{build-conditional\ 306}# #{s\ 3519}# (#{chi\ 465}# #{test\ 3530}# #{r\ 3517}# #{w\ 3518}# #{mod\ 3520}#) (#{chi\ 465}# #{then\ 3531}# #{r\ 3517}# #{w\ 3518}# #{mod\ 3520}#) (#{build-void\ 302}# #f))) #{tmp\ 3527}#) (let ((#{tmp\ 3533}# ($sc-dispatch #{tmp\ 3526}# '(_ any any any)))) (if #{tmp\ 3533}# (@apply (lambda (#{test\ 3537}# #{then\ 3538}# #{else\ 3539}#) (#{build-conditional\ 306}# #{s\ 3519}# (#{chi\ 465}# #{test\ 3537}# #{r\ 3517}# #{w\ 3518}# #{mod\ 3520}#) (#{chi\ 465}# #{then\ 3538}# #{r\ 3517}# #{w\ 3518}# #{mod\ 3520}#) (#{chi\ 465}# #{else\ 3539}# #{r\ 3517}# #{w\ 3518}# #{mod\ 3520}#))) #{tmp\ 3533}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3526}#)))))))) (#{global-extend\ 376}# 'core 'with-fluids (lambda (#{e\ 3540}# #{r\ 3541}# #{w\ 3542}# #{s\ 3543}# #{mod\ 3544}#) (let ((#{tmp\ 3550}# #{e\ 3540}#)) (let ((#{tmp\ 3551}# ($sc-dispatch #{tmp\ 3550}# '(_ #(each (any any)) any . each-any)))) (if #{tmp\ 3551}# (@apply (lambda (#{fluid\ 3556}# #{val\ 3557}# #{b\ 3558}# #{b*\ 3559}#) (#{build-dynlet\ 308}# #{s\ 3543}# (map (lambda (#{x\ 3560}#) (#{chi\ 465}# #{x\ 3560}# #{r\ 3541}# #{w\ 3542}# #{mod\ 3544}#)) #{fluid\ 3556}#) (map (lambda (#{x\ 3563}#) (#{chi\ 465}# #{x\ 3563}# #{r\ 3541}# #{w\ 3542}# #{mod\ 3544}#)) #{val\ 3557}#) (#{chi-body\ 473}# (cons #{b\ 3558}# #{b*\ 3559}#) (#{source-wrap\ 451}# #{e\ 3540}# #{w\ 3542}# #{s\ 3543}# #{mod\ 3544}#) #{r\ 3541}# #{w\ 3542}# #{mod\ 3544}#))) #{tmp\ 3551}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3550}#)))))) (#{global-extend\ 376}# 'begin 'begin '()) (#{global-extend\ 376}# 'define 'define '()) (#{global-extend\ 376}# 'define-syntax 'define-syntax '()) (#{global-extend\ 376}# 'eval-when 'eval-when '()) (#{global-extend\ 376}# 'core 'syntax-case (letrec* ((#{convert-pattern\ 3568}# (lambda (#{pattern\ 3575}# #{keys\ 3576}#) (letrec* ((#{cvt*\ 3580}# (lambda (#{p*\ 3583}# #{n\ 3584}# #{ids\ 3585}#) (if (null? #{p*\ 3583}#) (values (quote ()) #{ids\ 3585}#) (call-with-values (lambda () (#{cvt*\ 3580}# (cdr #{p*\ 3583}#) #{n\ 3584}# #{ids\ 3585}#)) (lambda (#{y\ 3589}# #{ids\ 3590}#) (call-with-values (lambda () (#{cvt\ 3582}# (car #{p*\ 3583}#) #{n\ 3584}# #{ids\ 3590}#)) (lambda (#{x\ 3593}# #{ids\ 3594}#) (values (cons #{x\ 3593}# #{y\ 3589}#) #{ids\ 3594}#)))))))) (#{cvt\ 3582}# (lambda (#{p\ 3597}# #{n\ 3598}# #{ids\ 3599}#) (if (#{id?\ 380}# #{p\ 3597}#) (if (#{bound-id-member?\ 447}# #{p\ 3597}# #{keys\ 3576}#) (values (vector (quote free-id) #{p\ 3597}#) #{ids\ 3599}#) (if (#{free-id=?\ 439}# #{p\ 3597}# '#(syntax-object _ ((top) #(ribcage () () ()) #(ribcage #(p n ids) #((top) (top) (top)) #("i3600" "i3601" "i3602")) #(ribcage (cvt cvt*) ((top) (top)) ("i3581" "i3579")) #(ribcage #(pattern keys) #((top) (top)) #("i3577" "i3578")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3573" "i3571" "i3569" "i3567")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))) (values (quote _) #{ids\ 3599}#) (values 'any (cons (cons #{p\ 3597}# #{n\ 3598}#) #{ids\ 3599}#)))) (let ((#{tmp\ 3608}# #{p\ 3597}#)) (let ((#{tmp\ 3609}# ($sc-dispatch #{tmp\ 3608}# '(any any)))) (if (if #{tmp\ 3609}# (@apply (lambda (#{x\ 3612}# #{dots\ 3613}#) (#{ellipsis?\ 481}# #{dots\ 3613}#)) #{tmp\ 3609}#) #f) (@apply (lambda (#{x\ 3616}# #{dots\ 3617}#) (call-with-values (lambda () (#{cvt\ 3582}# #{x\ 3616}# (#{fx+\ 281}# #{n\ 3598}# 1) #{ids\ 3599}#)) (lambda (#{p\ 3618}# #{ids\ 3619}#) (values (if (eq? #{p\ 3618}# (quote any)) 'each-any (vector 'each #{p\ 3618}#)) #{ids\ 3619}#)))) #{tmp\ 3609}#) (let ((#{tmp\ 3622}# ($sc-dispatch #{tmp\ 3608}# '(any any . each-any)))) (if (if #{tmp\ 3622}# (@apply (lambda (#{x\ 3626}# #{dots\ 3627}# #{ys\ 3628}#) (#{ellipsis?\ 481}# #{dots\ 3627}#)) #{tmp\ 3622}#) #f) (@apply (lambda (#{x\ 3632}# #{dots\ 3633}# #{ys\ 3634}#) (call-with-values (lambda () (#{cvt*\ 3580}# #{ys\ 3634}# #{n\ 3598}# #{ids\ 3599}#)) (lambda (#{ys\ 3636}# #{ids\ 3637}#) (call-with-values (lambda () (#{cvt\ 3582}# #{x\ 3632}# (1+ #{n\ 3598}#) #{ids\ 3637}#)) (lambda (#{x\ 3640}# #{ids\ 3641}#) (values (list->vector (cons 'each+ (cons #{x\ 3640}# (cons (reverse #{ys\ 3636}#) '(()))))) #{ids\ 3641}#)))))) #{tmp\ 3622}#) (let ((#{tmp\ 3645}# ($sc-dispatch #{tmp\ 3608}# '(any . any)))) (if #{tmp\ 3645}# (@apply (lambda (#{x\ 3648}# #{y\ 3649}#) (call-with-values (lambda () (#{cvt\ 3582}# #{y\ 3649}# #{n\ 3598}# #{ids\ 3599}#)) (lambda (#{y\ 3650}# #{ids\ 3651}#) (call-with-values (lambda () (#{cvt\ 3582}# #{x\ 3648}# #{n\ 3598}# #{ids\ 3651}#)) (lambda (#{x\ 3654}# #{ids\ 3655}#) (values (cons #{x\ 3654}# #{y\ 3650}#) #{ids\ 3655}#)))))) #{tmp\ 3645}#) (let ((#{tmp\ 3658}# ($sc-dispatch #{tmp\ 3608}# '()))) (if #{tmp\ 3658}# (@apply (lambda () (values '() #{ids\ 3599}#)) #{tmp\ 3658}#) (let ((#{tmp\ 3659}# ($sc-dispatch #{tmp\ 3608}# '#(vector each-any)))) (if #{tmp\ 3659}# (@apply (lambda (#{x\ 3661}#) (call-with-values (lambda () (#{cvt\ 3582}# #{x\ 3661}# #{n\ 3598}# #{ids\ 3599}#)) (lambda (#{p\ 3663}# #{ids\ 3664}#) (values (vector 'vector #{p\ 3663}#) #{ids\ 3664}#)))) #{tmp\ 3659}#) (let ((#{x\ 3668}# #{tmp\ 3608}#)) (values (vector 'atom (#{strip\ 491}# #{p\ 3597}# '(()))) #{ids\ 3599}#))))))))))))))))) (begin (#{cvt\ 3582}# #{pattern\ 3575}# 0 (quote ())))))) (#{build-dispatch-call\ 3570}# (lambda (#{pvars\ 3670}# #{exp\ 3671}# #{y\ 3672}# #{r\ 3673}# #{mod\ 3674}#) (begin (map cdr #{pvars\ 3670}#) (let ((#{ids\ 3682}# (map car #{pvars\ 3670}#))) (begin (let ((#{labels\ 3686}# (#{gen-labels\ 398}# #{ids\ 3682}#)) (#{new-vars\ 3687}# (map #{gen-var\ 493}# #{ids\ 3682}#))) (#{build-application\ 304}# #f (#{build-primref\ 328}# #f (quote apply)) (list (#{build-simple-lambda\ 322}# #f (map syntax->datum #{ids\ 3682}#) #f #{new-vars\ 3687}# '() (#{chi\ 465}# #{exp\ 3671}# (#{extend-env\ 368}# #{labels\ 3686}# (map (lambda (#{var\ 3691}# #{level\ 3692}#) (cons 'syntax (cons #{var\ 3691}# #{level\ 3692}#))) #{new-vars\ 3687}# (map cdr #{pvars\ 3670}#)) #{r\ 3673}#) (#{make-binding-wrap\ 427}# #{ids\ 3682}# #{labels\ 3686}# '(())) #{mod\ 3674}#)) #{y\ 3672}#)))))))) (#{gen-clause\ 3572}# (lambda (#{x\ 3698}# #{keys\ 3699}# #{clauses\ 3700}# #{r\ 3701}# #{pat\ 3702}# #{fender\ 3703}# #{exp\ 3704}# #{mod\ 3705}#) (call-with-values (lambda () (#{convert-pattern\ 3568}# #{pat\ 3702}# #{keys\ 3699}#)) (lambda (#{p\ 3714}# #{pvars\ 3715}#) (if (not (#{distinct-bound-ids?\ 445}# (map car #{pvars\ 3715}#))) (syntax-violation 'syntax-case "duplicate pattern variable" #{pat\ 3702}#) (if (not (and-map (lambda (#{x\ 3722}#) (not (#{ellipsis?\ 481}# (car #{x\ 3722}#)))) #{pvars\ 3715}#)) (syntax-violation 'syntax-case "misplaced ellipsis" #{pat\ 3702}#) (begin (let ((#{y\ 3726}# (#{gen-var\ 493}# (quote tmp)))) (#{build-application\ 304}# #f (#{build-simple-lambda\ 322}# #f (list (quote tmp)) #f (list #{y\ 3726}#) '() (begin (let ((#{y\ 3730}# (#{build-lexical-reference\ 310}# 'value #f 'tmp #{y\ 3726}#))) (#{build-conditional\ 306}# #f (let ((#{tmp\ 3733}# #{fender\ 3703}#)) (let ((#{tmp\ 3734}# ($sc-dispatch #{tmp\ 3733}# '#(atom #t)))) (if #{tmp\ 3734}# (@apply (lambda () #{y\ 3730}#) #{tmp\ 3734}#) (let ((#{_\ 3736}# #{tmp\ 3733}#)) (#{build-conditional\ 306}# #f #{y\ 3730}# (#{build-dispatch-call\ 3570}# #{pvars\ 3715}# #{fender\ 3703}# #{y\ 3730}# #{r\ 3701}# #{mod\ 3705}#) (#{build-data\ 330}# #f #f)))))) (#{build-dispatch-call\ 3570}# #{pvars\ 3715}# #{exp\ 3704}# #{y\ 3730}# #{r\ 3701}# #{mod\ 3705}#) (#{gen-syntax-case\ 3574}# #{x\ 3698}# #{keys\ 3699}# #{clauses\ 3700}# #{r\ 3701}# #{mod\ 3705}#))))) (list (if (eq? #{p\ 3714}# (quote any)) (#{build-application\ 304}# #f (#{build-primref\ 328}# #f 'list) (list #{x\ 3698}#)) (#{build-application\ 304}# #f (#{build-primref\ 328}# #f '$sc-dispatch) (list #{x\ 3698}# (#{build-data\ 330}# #f #{p\ 3714}#)))))))))))))) (#{gen-syntax-case\ 3574}# (lambda (#{x\ 3744}# #{keys\ 3745}# #{clauses\ 3746}# #{r\ 3747}# #{mod\ 3748}#) (if (null? #{clauses\ 3746}#) (#{build-application\ 304}# #f (#{build-primref\ 328}# #f 'syntax-violation) (list (#{build-data\ 330}# #f #f) (#{build-data\ 330}# #f "source expression failed to match any pattern") #{x\ 3744}#)) (let ((#{tmp\ 3758}# (car #{clauses\ 3746}#))) (let ((#{tmp\ 3759}# ($sc-dispatch #{tmp\ 3758}# '(any any)))) (if #{tmp\ 3759}# (@apply (lambda (#{pat\ 3762}# #{exp\ 3763}#) (if (if (#{id?\ 380}# #{pat\ 3762}#) (and-map (lambda (#{x\ 3766}#) (not (#{free-id=?\ 439}# #{pat\ 3762}# #{x\ 3766}#))) (cons '#(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) #("i3760" "i3761")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i3749" "i3750" "i3751" "i3752" "i3753")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3573" "i3571" "i3569" "i3567")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)) #{keys\ 3745}#)) #f) (if (#{free-id=?\ 439}# '#(syntax-object pad ((top) #(ribcage #(pat exp) #((top) (top)) #("i3760" "i3761")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i3749" "i3750" "i3751" "i3752" "i3753")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3573" "i3571" "i3569" "i3567")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile)) '#(syntax-object _ ((top) #(ribcage #(pat exp) #((top) (top)) #("i3760" "i3761")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i3749" "i3750" "i3751" "i3752" "i3753")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3573" "i3571" "i3569" "i3567")) #(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 chi-top 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) (top)) ("i494" "i492" "i490" "i488" "i486" "i484" "i482" "i480" "i478" "i476" "i474" "i472" "i470" "i468" "i466" "i464" "i462" "i460" "i458" "i456" "i454" "i452" "i450" "i448" "i446" "i444" "i442" "i440" "i438" "i436" "i434" "i432" "i430" "i428" "i426" "i424" "i423" "i422" "i420" "i419" "i418" "i417" "i416" "i414" "i412" "i410" "i408" "i406" "i404" "i402" "i400" "i397" "i395" "i394" "i393" "i392" "i391" "i390" "i388" "i386" "i384" "i382" "i381" "i379" "i377" "i375" "i373" "i371" "i369" "i367" "i366" "i364" "i362" "i361" "i360" "i358" "i357" "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" "i292" "i290" "i288" "i286" "i284" "i282" "i280" "i278" "i276" "i274" "i271" "i269" "i267" "i265" "i263" "i261" "i259" "i257" "i255" "i253" "i251" "i249" "i247" "i245" "i243" "i241" "i239" "i237")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i39" "i38" "i37" "i35"))) (hygiene guile))) (#{chi\ 465}# #{exp\ 3763}# #{r\ 3747}# '(()) #{mod\ 3748}#) (begin (let ((#{labels\ 3771}# (list (#{gen-label\ 396}#))) (#{var\ 3772}# (#{gen-var\ 493}# #{pat\ 3762}#))) (#{build-application\ 304}# #f (#{build-simple-lambda\ 322}# #f (list (syntax->datum #{pat\ 3762}#)) #f (list #{var\ 3772}#) '() (#{chi\ 465}# #{exp\ 3763}# (#{extend-env\ 368}# #{labels\ 3771}# (list (cons 'syntax (cons #{var\ 3772}# 0))) #{r\ 3747}#) (#{make-binding-wrap\ 427}# (list #{pat\ 3762}#) #{labels\ 3771}# '(())) #{mod\ 3748}#)) (list #{x\ 3744}#))))) (#{gen-clause\ 3572}# #{x\ 3744}# #{keys\ 3745}# (cdr #{clauses\ 3746}#) #{r\ 3747}# #{pat\ 3762}# #t #{exp\ 3763}# #{mod\ 3748}#))) #{tmp\ 3759}#) (let ((#{tmp\ 3778}# ($sc-dispatch #{tmp\ 3758}# '(any any any)))) (if #{tmp\ 3778}# (@apply (lambda (#{pat\ 3782}# #{fender\ 3783}# #{exp\ 3784}#) (#{gen-clause\ 3572}# #{x\ 3744}# #{keys\ 3745}# (cdr #{clauses\ 3746}#) #{r\ 3747}# #{pat\ 3782}# #{fender\ 3783}# #{exp\ 3784}# #{mod\ 3748}#)) #{tmp\ 3778}#) (let ((#{_\ 3786}# #{tmp\ 3758}#)) (syntax-violation 'syntax-case "invalid clause" (car #{clauses\ 3746}#)))))))))))) (begin (lambda (#{e\ 3787}# #{r\ 3788}# #{w\ 3789}# #{s\ 3790}# #{mod\ 3791}#) (begin (let ((#{e\ 3798}# (#{source-wrap\ 451}# #{e\ 3787}# #{w\ 3789}# #{s\ 3790}# #{mod\ 3791}#))) (let ((#{tmp\ 3799}# #{e\ 3798}#)) (let ((#{tmp\ 3800}# ($sc-dispatch #{tmp\ 3799}# '(_ any each-any . each-any)))) (if #{tmp\ 3800}# (@apply (lambda (#{val\ 3804}# #{key\ 3805}# #{m\ 3806}#) (if (and-map (lambda (#{x\ 3807}#) (if (#{id?\ 380}# #{x\ 3807}#) (not (#{ellipsis?\ 481}# #{x\ 3807}#)) #f)) #{key\ 3805}#) (begin (let ((#{x\ 3813}# (#{gen-var\ 493}# (quote tmp)))) (#{build-application\ 304}# #{s\ 3790}# (#{build-simple-lambda\ 322}# #f (list (quote tmp)) #f (list #{x\ 3813}#) '() (#{gen-syntax-case\ 3574}# (#{build-lexical-reference\ 310}# 'value #f 'tmp #{x\ 3813}#) #{key\ 3805}# #{m\ 3806}# #{r\ 3788}# #{mod\ 3791}#)) (list (#{chi\ 465}# #{val\ 3804}# #{r\ 3788}# '(()) #{mod\ 3791}#))))) (syntax-violation 'syntax-case "invalid literals list" #{e\ 3798}#))) #{tmp\ 3800}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3799}#)))))))))) (set! macroexpand (lambda* (#{x\ 3819}# #:optional (#{m\ 3821}# (quote e)) (#{esew\ 3823}# (quote (eval)))) (#{chi-top\ 463}# #{x\ 3819}# '() '((top)) #{m\ 3821}# #{esew\ 3823}# (cons 'hygiene (module-name (current-module)))))) (set! identifier? (lambda (#{x\ 3827}#) (#{nonsymbol-id?\ 378}# #{x\ 3827}#))) (set! datum->syntax (lambda (#{id\ 3829}# #{datum\ 3830}#) (#{make-syntax-object\ 342}# #{datum\ 3830}# (#{syntax-object-wrap\ 348}# #{id\ 3829}#) (#{syntax-object-module\ 350}# #{id\ 3829}#)))) (set! syntax->datum (lambda (#{x\ 3833}#) (#{strip\ 491}# #{x\ 3833}# (quote (()))))) (set! syntax-source (lambda (#{x\ 3836}#) (#{source-annotation\ 359}# #{x\ 3836}#))) (set! generate-temporaries (lambda (#{ls\ 3838}#) (begin (begin (let ((#{x\ 3842}# #{ls\ 3838}#)) (if (not (list? #{x\ 3842}#)) (syntax-violation 'generate-temporaries "invalid argument" #{x\ 3842}#)))) (map (lambda (#{x\ 3843}#) (#{wrap\ 449}# (gensym) (quote ((top))) #f)) #{ls\ 3838}#)))) (set! free-identifier=? (lambda (#{x\ 3847}# #{y\ 3848}#) (begin (begin (let ((#{x\ 3853}# #{x\ 3847}#)) (if (not (#{nonsymbol-id?\ 378}# #{x\ 3853}#)) (syntax-violation 'free-identifier=? "invalid argument" #{x\ 3853}#)))) (begin (let ((#{x\ 3856}# #{y\ 3848}#)) (if (not (#{nonsymbol-id?\ 378}# #{x\ 3856}#)) (syntax-violation 'free-identifier=? "invalid argument" #{x\ 3856}#)))) (#{free-id=?\ 439}# #{x\ 3847}# #{y\ 3848}#)))) (set! bound-identifier=? (lambda (#{x\ 3857}# #{y\ 3858}#) (begin (begin (let ((#{x\ 3863}# #{x\ 3857}#)) (if (not (#{nonsymbol-id?\ 378}# #{x\ 3863}#)) (syntax-violation 'bound-identifier=? "invalid argument" #{x\ 3863}#)))) (begin (let ((#{x\ 3866}# #{y\ 3858}#)) (if (not (#{nonsymbol-id?\ 378}# #{x\ 3866}#)) (syntax-violation 'bound-identifier=? "invalid argument" #{x\ 3866}#)))) (#{bound-id=?\ 441}# #{x\ 3857}# #{y\ 3858}#)))) (set! syntax-violation (lambda (#{who\ 3867}# #{message\ 3868}# #{form\ 3869}# . #{subform\ 3870}#) (begin (begin (let ((#{x\ 3877}# #{who\ 3867}#)) (if (not (let ((#{x\ 3878}# #{x\ 3877}#)) (begin (let ((#{t\ 3882}# (not #{x\ 3878}#))) (if #{t\ 3882}# #{t\ 3882}# (begin (let ((#{t\ 3885}# (string? #{x\ 3878}#))) (if #{t\ 3885}# #{t\ 3885}# (symbol? #{x\ 3878}#))))))))) (syntax-violation 'syntax-violation "invalid argument" #{x\ 3877}#)))) (begin (let ((#{x\ 3889}# #{message\ 3868}#)) (if (not (string? #{x\ 3889}#)) (syntax-violation 'syntax-violation "invalid argument" #{x\ 3889}#)))) (scm-error 'syntax-error 'macroexpand (string-append (if #{who\ 3867}# "~a: " "") "~a " (if (null? #{subform\ 3870}#) "in ~a" "in subform `~s' of `~s'")) (begin (let ((#{tail\ 3891}# (cons #{message\ 3868}# (map (lambda (#{x\ 3892}#) (#{strip\ 491}# #{x\ 3892}# '(()))) (append #{subform\ 3870}# (list #{form\ 3869}#)))))) (if #{who\ 3867}# (cons #{who\ 3867}# #{tail\ 3891}#) #{tail\ 3891}#))) #f)))) (letrec* ((#{match-each\ 3896}# (lambda (#{e\ 3909}# #{p\ 3910}# #{w\ 3911}# #{mod\ 3912}#) (if (pair? #{e\ 3909}#) (begin (let ((#{first\ 3920}# (#{match\ 3908}# (car #{e\ 3909}#) #{p\ 3910}# #{w\ 3911}# '() #{mod\ 3912}#))) (if #{first\ 3920}# (begin (let ((#{rest\ 3924}# (#{match-each\ 3896}# (cdr #{e\ 3909}#) #{p\ 3910}# #{w\ 3911}# #{mod\ 3912}#))) (if #{rest\ 3924}# (cons #{first\ 3920}# #{rest\ 3924}#) #f))) #f))) (if (null? #{e\ 3909}#) '() (if (#{syntax-object?\ 344}# #{e\ 3909}#) (#{match-each\ 3896}# (#{syntax-object-expression\ 346}# #{e\ 3909}#) #{p\ 3910}# (#{join-wraps\ 431}# #{w\ 3911}# (#{syntax-object-wrap\ 348}# #{e\ 3909}#)) (#{syntax-object-module\ 350}# #{e\ 3909}#)) #f))))) (#{match-each+\ 3898}# (lambda (#{e\ 3932}# #{x-pat\ 3933}# #{y-pat\ 3934}# #{z-pat\ 3935}# #{w\ 3936}# #{r\ 3937}# #{mod\ 3938}#) (letrec* ((#{f\ 3949}# (lambda (#{e\ 3950}# #{w\ 3951}#) (if (pair? #{e\ 3950}#) (call-with-values (lambda () (#{f\ 3949}# (cdr #{e\ 3950}#) #{w\ 3951}#)) (lambda (#{xr*\ 3954}# #{y-pat\ 3955}# #{r\ 3956}#) (if #{r\ 3956}# (if (null? #{y-pat\ 3955}#) (begin (let ((#{xr\ 3961}# (#{match\ 3908}# (car #{e\ 3950}#) #{x-pat\ 3933}# #{w\ 3951}# '() #{mod\ 3938}#))) (if #{xr\ 3961}# (values (cons #{xr\ 3961}# #{xr*\ 3954}#) #{y-pat\ 3955}# #{r\ 3956}#) (values #f #f #f)))) (values '() (cdr #{y-pat\ 3955}#) (#{match\ 3908}# (car #{e\ 3950}#) (car #{y-pat\ 3955}#) #{w\ 3951}# #{r\ 3956}# #{mod\ 3938}#))) (values #f #f #f)))) (if (#{syntax-object?\ 344}# #{e\ 3950}#) (#{f\ 3949}# (#{syntax-object-expression\ 346}# #{e\ 3950}#) (#{join-wraps\ 431}# #{w\ 3951}# #{e\ 3950}#)) (values '() #{y-pat\ 3934}# (#{match\ 3908}# #{e\ 3950}# #{z-pat\ 3935}# #{w\ 3951}# #{r\ 3937}# #{mod\ 3938}#))))))) (begin (#{f\ 3949}# #{e\ 3932}# #{w\ 3936}#))))) (#{match-each-any\ 3900}# (lambda (#{e\ 3965}# #{w\ 3966}# #{mod\ 3967}#) (if (pair? #{e\ 3965}#) (begin (let ((#{l\ 3974}# (#{match-each-any\ 3900}# (cdr #{e\ 3965}#) #{w\ 3966}# #{mod\ 3967}#))) (if #{l\ 3974}# (cons (#{wrap\ 449}# (car #{e\ 3965}#) #{w\ 3966}# #{mod\ 3967}#) #{l\ 3974}#) #f))) (if (null? #{e\ 3965}#) '() (if (#{syntax-object?\ 344}# #{e\ 3965}#) (#{match-each-any\ 3900}# (#{syntax-object-expression\ 346}# #{e\ 3965}#) (#{join-wraps\ 431}# #{w\ 3966}# (#{syntax-object-wrap\ 348}# #{e\ 3965}#)) #{mod\ 3967}#) #f))))) (#{match-empty\ 3902}# (lambda (#{p\ 3982}# #{r\ 3983}#) (if (null? #{p\ 3982}#) #{r\ 3983}# (if (eq? #{p\ 3982}# (quote _)) #{r\ 3983}# (if (eq? #{p\ 3982}# (quote any)) (cons (quote ()) #{r\ 3983}#) (if (pair? #{p\ 3982}#) (#{match-empty\ 3902}# (car #{p\ 3982}#) (#{match-empty\ 3902}# (cdr #{p\ 3982}#) #{r\ 3983}#)) (if (eq? #{p\ 3982}# (quote each-any)) (cons (quote ()) #{r\ 3983}#) (begin (let ((#{atom-key\ 3999}# (vector-ref #{p\ 3982}# 0))) (if (eqv? #{atom-key\ 3999}# (quote each)) (#{match-empty\ 3902}# (vector-ref #{p\ 3982}# 1) #{r\ 3983}#) (if (eqv? #{atom-key\ 3999}# (quote each+)) (#{match-empty\ 3902}# (vector-ref #{p\ 3982}# 1) (#{match-empty\ 3902}# (reverse (vector-ref #{p\ 3982}# 2)) (#{match-empty\ 3902}# (vector-ref #{p\ 3982}# 3) #{r\ 3983}#))) (if (if (eqv? #{atom-key\ 3999}# 'free-id) #t (eqv? #{atom-key\ 3999}# 'atom)) #{r\ 3983}# (if (eqv? #{atom-key\ 3999}# 'vector) (#{match-empty\ 3902}# (vector-ref #{p\ 3982}# 1) #{r\ 3983}#)))))))))))))) (#{combine\ 3904}# (lambda (#{r*\ 4004}# #{r\ 4005}#) (if (null? (car #{r*\ 4004}#)) #{r\ 4005}# (cons (map car #{r*\ 4004}#) (#{combine\ 3904}# (map cdr #{r*\ 4004}#) #{r\ 4005}#))))) (#{match*\ 3906}# (lambda (#{e\ 4008}# #{p\ 4009}# #{w\ 4010}# #{r\ 4011}# #{mod\ 4012}#) (if (null? #{p\ 4009}#) (if (null? #{e\ 4008}#) #{r\ 4011}# #f) (if (pair? #{p\ 4009}#) (if (pair? #{e\ 4008}#) (#{match\ 3908}# (car #{e\ 4008}#) (car #{p\ 4009}#) #{w\ 4010}# (#{match\ 3908}# (cdr #{e\ 4008}#) (cdr #{p\ 4009}#) #{w\ 4010}# #{r\ 4011}# #{mod\ 4012}#) #{mod\ 4012}#) #f) (if (eq? #{p\ 4009}# (quote each-any)) (begin (let ((#{l\ 4029}# (#{match-each-any\ 3900}# #{e\ 4008}# #{w\ 4010}# #{mod\ 4012}#))) (if #{l\ 4029}# (cons #{l\ 4029}# #{r\ 4011}#) #f))) (begin (let ((#{atom-key\ 4035}# (vector-ref #{p\ 4009}# 0))) (if (eqv? #{atom-key\ 4035}# (quote each)) (if (null? #{e\ 4008}#) (#{match-empty\ 3902}# (vector-ref #{p\ 4009}# 1) #{r\ 4011}#) (begin (let ((#{l\ 4038}# (#{match-each\ 3896}# #{e\ 4008}# (vector-ref #{p\ 4009}# 1) #{w\ 4010}# #{mod\ 4012}#))) (if #{l\ 4038}# (letrec* ((#{collect\ 4043}# (lambda (#{l\ 4044}#) (if (null? (car #{l\ 4044}#)) #{r\ 4011}# (cons (map car #{l\ 4044}#) (#{collect\ 4043}# (map cdr #{l\ 4044}#))))))) (begin (#{collect\ 4043}# #{l\ 4038}#))) #f)))) (if (eqv? #{atom-key\ 4035}# (quote each+)) (call-with-values (lambda () (#{match-each+\ 3898}# #{e\ 4008}# (vector-ref #{p\ 4009}# 1) (vector-ref #{p\ 4009}# 2) (vector-ref #{p\ 4009}# 3) #{w\ 4010}# #{r\ 4011}# #{mod\ 4012}#)) (lambda (#{xr*\ 4046}# #{y-pat\ 4047}# #{r\ 4048}#) (if #{r\ 4048}# (if (null? #{y-pat\ 4047}#) (if (null? #{xr*\ 4046}#) (#{match-empty\ 3902}# (vector-ref #{p\ 4009}# 1) #{r\ 4048}#) (#{combine\ 3904}# #{xr*\ 4046}# #{r\ 4048}#)) #f) #f))) (if (eqv? #{atom-key\ 4035}# (quote free-id)) (if (#{id?\ 380}# #{e\ 4008}#) (if (#{free-id=?\ 439}# (#{wrap\ 449}# #{e\ 4008}# #{w\ 4010}# #{mod\ 4012}#) (vector-ref #{p\ 4009}# 1)) #{r\ 4011}# #f) #f) (if (eqv? #{atom-key\ 4035}# (quote atom)) (if (equal? (vector-ref #{p\ 4009}# 1) (#{strip\ 491}# #{e\ 4008}# #{w\ 4010}#)) #{r\ 4011}# #f) (if (eqv? #{atom-key\ 4035}# 'vector) (if (vector? #{e\ 4008}#) (#{match\ 3908}# (vector->list #{e\ 4008}#) (vector-ref #{p\ 4009}# 1) #{w\ 4010}# #{r\ 4011}# #{mod\ 4012}#) #f))))))))))))) (#{match\ 3908}# (lambda (#{e\ 4065}# #{p\ 4066}# #{w\ 4067}# #{r\ 4068}# #{mod\ 4069}#) (if (not #{r\ 4068}#) #f (if (eq? #{p\ 4066}# (quote _)) #{r\ 4068}# (if (eq? #{p\ 4066}# (quote any)) (cons (#{wrap\ 449}# #{e\ 4065}# #{w\ 4067}# #{mod\ 4069}#) #{r\ 4068}#) (if (#{syntax-object?\ 344}# #{e\ 4065}#) (#{match*\ 3906}# (#{syntax-object-expression\ 346}# #{e\ 4065}#) #{p\ 4066}# (#{join-wraps\ 431}# #{w\ 4067}# (#{syntax-object-wrap\ 348}# #{e\ 4065}#)) #{r\ 4068}# (#{syntax-object-module\ 350}# #{e\ 4065}#)) (#{match*\ 3906}# #{e\ 4065}# #{p\ 4066}# #{w\ 4067}# #{r\ 4068}# #{mod\ 4069}#)))))))) (begin (set! $sc-dispatch (lambda (#{e\ 4084}# #{p\ 4085}#) (if (eq? #{p\ 4085}# (quote any)) (list #{e\ 4084}#) (if (eq? #{p\ 4085}# (quote _)) '() (if (#{syntax-object?\ 344}# #{e\ 4084}#) (#{match*\ 3906}# (#{syntax-object-expression\ 346}# #{e\ 4084}#) #{p\ 4085}# (#{syntax-object-wrap\ 348}# #{e\ 4084}#) '() (#{syntax-object-module\ 350}# #{e\ 4084}#)) (#{match*\ 3906}# #{e\ 4084}# #{p\ 4085}# '(()) '() #f)))))))))))))) (define with-syntax (make-syntax-transformer 'with-syntax 'macro (lambda (#{x\ 4096}#) (let ((#{tmp\ 4098}# #{x\ 4096}#)) (let ((#{tmp\ 4099}# ($sc-dispatch #{tmp\ 4098}# '(_ () any . each-any)))) (if #{tmp\ 4099}# (@apply (lambda (#{e1\ 4102}# #{e2\ 4103}#) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4100" "i4101")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4097"))) (hygiene guile)) (cons #{e1\ 4102}# #{e2\ 4103}#))) #{tmp\ 4099}#) (let ((#{tmp\ 4105}# ($sc-dispatch #{tmp\ 4098}# '(_ ((any any)) any . each-any)))) (if #{tmp\ 4105}# (@apply (lambda (#{out\ 4110}# #{in\ 4111}# #{e1\ 4112}# #{e2\ 4113}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4106" "i4107" "i4108" "i4109")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4097"))) (hygiene guile)) #{in\ 4111}# '() (list #{out\ 4110}# (cons '#(syntax-object begin ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4106" "i4107" "i4108" "i4109")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4097"))) (hygiene guile)) (cons #{e1\ 4112}# #{e2\ 4113}#))))) #{tmp\ 4105}#) (let ((#{tmp\ 4115}# ($sc-dispatch #{tmp\ 4098}# '(_ #(each (any any)) any . each-any)))) (if #{tmp\ 4115}# (@apply (lambda (#{out\ 4120}# #{in\ 4121}# #{e1\ 4122}# #{e2\ 4123}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4116" "i4117" "i4118" "i4119")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4097"))) (hygiene guile)) (cons '#(syntax-object list ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4116" "i4117" "i4118" "i4119")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4097"))) (hygiene guile)) #{in\ 4121}#) '() (list #{out\ 4120}# (cons '#(syntax-object begin ((top) #(ribcage #(out in e1 e2) #((top) (top) (top) (top)) #("i4116" "i4117" "i4118" "i4119")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4097"))) (hygiene guile)) (cons #{e1\ 4122}# #{e2\ 4123}#))))) #{tmp\ 4115}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4098}#))))))))))) (define syntax-rules (make-syntax-transformer 'syntax-rules 'macro (lambda (#{x\ 4127}#) (let ((#{tmp\ 4129}# #{x\ 4127}#)) (let ((#{tmp\ 4130}# ($sc-dispatch #{tmp\ 4129}# '(_ each-any . #(each ((any . any) any)))))) (if #{tmp\ 4130}# (@apply (lambda (#{k\ 4135}# #{keyword\ 4136}# #{pattern\ 4137}# #{template\ 4138}#) (list '#(syntax-object lambda ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile))) (vector '(#(syntax-object macro-type ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) . #(syntax-object syntax-rules ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile))) (cons '#(syntax-object patterns ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) #{pattern\ 4137}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) (cons '#(syntax-object x ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) (cons #{k\ 4135}# (map (lambda (#{tmp\ 4142}# #{tmp\ 4141}#) (list (cons '#(syntax-object dummy ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) #{tmp\ 4141}#) (list '#(syntax-object syntax ((top) #(ribcage #(k keyword pattern template) #((top) (top) (top) (top)) #("i4131" "i4132" "i4133" "i4134")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) #{tmp\ 4142}#))) #{template\ 4138}# #{pattern\ 4137}#)))))) #{tmp\ 4130}#) (let ((#{tmp\ 4143}# ($sc-dispatch #{tmp\ 4129}# '(_ each-any any . #(each ((any . any) any)))))) (if (if #{tmp\ 4143}# (@apply (lambda (#{k\ 4149}# #{docstring\ 4150}# #{keyword\ 4151}# #{pattern\ 4152}# #{template\ 4153}#) (string? (syntax->datum #{docstring\ 4150}#))) #{tmp\ 4143}#) #f) (@apply (lambda (#{k\ 4159}# #{docstring\ 4160}# #{keyword\ 4161}# #{pattern\ 4162}# #{template\ 4163}#) (list '#(syntax-object lambda ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile))) #{docstring\ 4160}# (vector '(#(syntax-object macro-type ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) . #(syntax-object syntax-rules ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile))) (cons '#(syntax-object patterns ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) #{pattern\ 4162}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) (cons '#(syntax-object x ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) (cons #{k\ 4159}# (map (lambda (#{tmp\ 4167}# #{tmp\ 4166}#) (list (cons '#(syntax-object dummy ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) #{tmp\ 4166}#) (list '#(syntax-object syntax ((top) #(ribcage #(k docstring keyword pattern template) #((top) (top) (top) (top) (top)) #("i4154" "i4155" "i4156" "i4157" "i4158")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4128"))) (hygiene guile)) #{tmp\ 4167}#))) #{template\ 4163}# #{pattern\ 4162}#)))))) #{tmp\ 4143}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4129}#))))))))) (define let* (make-syntax-transformer 'let* 'macro (lambda (#{x\ 4168}#) (let ((#{tmp\ 4170}# #{x\ 4168}#)) (let ((#{tmp\ 4171}# ($sc-dispatch #{tmp\ 4170}# '(any #(each (any any)) any . each-any)))) (if (if #{tmp\ 4171}# (@apply (lambda (#{let*\ 4177}# #{x\ 4178}# #{v\ 4179}# #{e1\ 4180}# #{e2\ 4181}#) (and-map identifier? #{x\ 4178}#)) #{tmp\ 4171}#) #f) (@apply (lambda (#{let*\ 4188}# #{x\ 4189}# #{v\ 4190}# #{e1\ 4191}# #{e2\ 4192}#) (letrec* ((#{f\ 4195}# (lambda (#{bindings\ 4196}#) (if (null? #{bindings\ 4196}#) (cons '#(syntax-object let ((top) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) #("i4193" "i4194")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) #("i4183" "i4184" "i4185" "i4186" "i4187")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4169"))) (hygiene guile)) (cons '() (cons #{e1\ 4191}# #{e2\ 4192}#))) (let ((#{tmp\ 4201}# (list (#{f\ 4195}# (cdr #{bindings\ 4196}#)) (car #{bindings\ 4196}#)))) (let ((#{tmp\ 4202}# ($sc-dispatch #{tmp\ 4201}# '(any any)))) (if #{tmp\ 4202}# (@apply (lambda (#{body\ 4205}# #{binding\ 4206}#) (list '#(syntax-object let ((top) #(ribcage #(body binding) #((top) (top)) #("i4203" "i4204")) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) #("i4193" "i4194")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) #("i4183" "i4184" "i4185" "i4186" "i4187")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4169"))) (hygiene guile)) (list #{binding\ 4206}#) #{body\ 4205}#)) #{tmp\ 4202}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4201}#)))))))) (begin (#{f\ 4195}# (map list #{x\ 4189}# #{v\ 4190}#))))) #{tmp\ 4171}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4170}#))))))) (define do (make-syntax-transformer 'do 'macro (lambda (#{orig-x\ 4207}#) (let ((#{tmp\ 4209}# #{orig-x\ 4207}#)) (let ((#{tmp\ 4210}# ($sc-dispatch #{tmp\ 4209}# '(_ #(each (any any . any)) (any . each-any) . each-any)))) (if #{tmp\ 4210}# (@apply (lambda (#{var\ 4217}# #{init\ 4218}# #{step\ 4219}# #{e0\ 4220}# #{e1\ 4221}# #{c\ 4222}#) (let ((#{tmp\ 4224}# (map (lambda (#{v\ 4245}# #{s\ 4246}#) (let ((#{tmp\ 4249}# #{s\ 4246}#)) (let ((#{tmp\ 4250}# ($sc-dispatch #{tmp\ 4249}# '()))) (if #{tmp\ 4250}# (@apply (lambda () #{v\ 4245}#) #{tmp\ 4250}#) (let ((#{tmp\ 4251}# ($sc-dispatch #{tmp\ 4249}# '(any)))) (if #{tmp\ 4251}# (@apply (lambda (#{e\ 4253}#) #{e\ 4253}#) #{tmp\ 4251}#) (let ((#{_\ 4255}# #{tmp\ 4249}#)) (syntax-violation 'do "bad step expression" #{orig-x\ 4207}# #{s\ 4246}#)))))))) #{var\ 4217}# #{step\ 4219}#))) (let ((#{tmp\ 4225}# ($sc-dispatch #{tmp\ 4224}# (quote each-any)))) (if #{tmp\ 4225}# (@apply (lambda (#{step\ 4227}#) (let ((#{tmp\ 4228}# #{e1\ 4221}#)) (let ((#{tmp\ 4229}# ($sc-dispatch #{tmp\ 4228}# (quote ())))) (if #{tmp\ 4229}# (@apply (lambda () (list '#(syntax-object let ((top) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) '#(syntax-object doloop ((top) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) (map list #{var\ 4217}# #{init\ 4218}#) (list '#(syntax-object if ((top) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) (list '#(syntax-object not ((top) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) #{e0\ 4220}#) (cons '#(syntax-object begin ((top) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) (append #{c\ 4222}# (list (cons '#(syntax-object doloop ((top) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) #{step\ 4227}#))))))) #{tmp\ 4229}#) (let ((#{tmp\ 4234}# ($sc-dispatch #{tmp\ 4228}# '(any . each-any)))) (if #{tmp\ 4234}# (@apply (lambda (#{e1\ 4237}# #{e2\ 4238}#) (list '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4235" "i4236")) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) '#(syntax-object doloop ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4235" "i4236")) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) (map list #{var\ 4217}# #{init\ 4218}#) (list '#(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4235" "i4236")) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) #{e0\ 4220}# (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4235" "i4236")) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) (cons #{e1\ 4237}# #{e2\ 4238}#)) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4235" "i4236")) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) (append #{c\ 4222}# (list (cons '#(syntax-object doloop ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4235" "i4236")) #(ribcage #(step) #((top)) #("i4226")) #(ribcage #(var init step e0 e1 c) #((top) (top) (top) (top) (top) (top)) #("i4211" "i4212" "i4213" "i4214" "i4215" "i4216")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4208"))) (hygiene guile)) #{step\ 4227}#))))))) #{tmp\ 4234}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4228}#))))))) #{tmp\ 4225}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4224}#))))) #{tmp\ 4210}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4209}#))))))) (define quasiquote (make-syntax-transformer 'quasiquote 'macro (letrec* ((#{quasicons\ 4262}# (lambda (#{x\ 4266}# #{y\ 4267}#) (let ((#{tmp\ 4271}# (list #{x\ 4266}# #{y\ 4267}#))) (let ((#{tmp\ 4272}# ($sc-dispatch #{tmp\ 4271}# (quote (any any))))) (if #{tmp\ 4272}# (@apply (lambda (#{x\ 4275}# #{y\ 4276}#) (let ((#{tmp\ 4277}# #{y\ 4276}#)) (let ((#{tmp\ 4278}# ($sc-dispatch #{tmp\ 4277}# '(#(free-id #(syntax-object quote ((top) #(ribcage #(x y) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4268" "i4269")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) any)))) (if #{tmp\ 4278}# (@apply (lambda (#{dy\ 4280}#) (let ((#{tmp\ 4281}# #{x\ 4275}#)) (let ((#{tmp\ 4282}# ($sc-dispatch #{tmp\ 4281}# '(#(free-id #(syntax-object quote ((top) #(ribcage #(dy) #((top)) #("i4279")) #(ribcage #(x y) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4268" "i4269")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) any)))) (if #{tmp\ 4282}# (@apply (lambda (#{dx\ 4284}#) (list '#(syntax-object quote ((top) #(ribcage #(dx) #((top)) #("i4283")) #(ribcage #(dy) #((top)) #("i4279")) #(ribcage #(x y) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4268" "i4269")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) (cons #{dx\ 4284}# #{dy\ 4280}#))) #{tmp\ 4282}#) (let ((#{_\ 4286}# #{tmp\ 4281}#)) (if (null? #{dy\ 4280}#) (list '#(syntax-object list ((top) #(ribcage #(_) #((top)) #("i4285")) #(ribcage #(dy) #((top)) #("i4279")) #(ribcage #(x y) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4268" "i4269")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{x\ 4275}#) (list '#(syntax-object cons ((top) #(ribcage #(_) #((top)) #("i4285")) #(ribcage #(dy) #((top)) #("i4279")) #(ribcage #(x y) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4268" "i4269")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{x\ 4275}# #{y\ 4276}#))))))) #{tmp\ 4278}#) (let ((#{tmp\ 4287}# ($sc-dispatch #{tmp\ 4277}# '(#(free-id #(syntax-object list ((top) #(ribcage #(x y) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4268" "i4269")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) . any)))) (if #{tmp\ 4287}# (@apply (lambda (#{stuff\ 4289}#) (cons '#(syntax-object list ((top) #(ribcage #(stuff) #((top)) #("i4288")) #(ribcage #(x y) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4268" "i4269")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) (cons #{x\ 4275}# #{stuff\ 4289}#))) #{tmp\ 4287}#) (let ((#{else\ 4291}# #{tmp\ 4277}#)) (list '#(syntax-object cons ((top) #(ribcage #(else) #((top)) #("i4290")) #(ribcage #(x y) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4268" "i4269")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{x\ 4275}# #{y\ 4276}#)))))))) #{tmp\ 4272}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4271}#)))))) (#{quasiappend\ 4263}# (lambda (#{x\ 4292}# #{y\ 4293}#) (let ((#{tmp\ 4297}# (list #{x\ 4292}# #{y\ 4293}#))) (let ((#{tmp\ 4298}# ($sc-dispatch #{tmp\ 4297}# (quote (any any))))) (if #{tmp\ 4298}# (@apply (lambda (#{x\ 4301}# #{y\ 4302}#) (let ((#{tmp\ 4303}# #{y\ 4302}#)) (let ((#{tmp\ 4304}# ($sc-dispatch #{tmp\ 4303}# '(#(free-id #(syntax-object quote ((top) #(ribcage #(x y) #((top) (top)) #("i4299" "i4300")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4294" "i4295")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) ())))) (if #{tmp\ 4304}# (@apply (lambda () #{x\ 4301}#) #{tmp\ 4304}#) (let ((#{_\ 4306}# #{tmp\ 4303}#)) (list '#(syntax-object append ((top) #(ribcage #(_) #((top)) #("i4305")) #(ribcage #(x y) #((top) (top)) #("i4299" "i4300")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4294" "i4295")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{x\ 4301}# #{y\ 4302}#)))))) #{tmp\ 4298}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4297}#)))))) (#{quasivector\ 4264}# (lambda (#{x\ 4307}#) (let ((#{tmp\ 4310}# #{x\ 4307}#)) (let ((#{x\ 4312}# #{tmp\ 4310}#)) (let ((#{tmp\ 4313}# #{x\ 4312}#)) (let ((#{tmp\ 4314}# ($sc-dispatch #{tmp\ 4313}# '(#(free-id #(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i4311")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4308")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) each-any)))) (if #{tmp\ 4314}# (@apply (lambda (#{x\ 4316}#) (list '#(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i4315")) #(ribcage #(x) #((top)) #("i4311")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4308")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) (list->vector #{x\ 4316}#))) #{tmp\ 4314}#) (let ((#{tmp\ 4318}# ($sc-dispatch #{tmp\ 4313}# '(#(free-id #(syntax-object list ((top) #(ribcage #(x) #((top)) #("i4311")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4308")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) . each-any)))) (if #{tmp\ 4318}# (@apply (lambda (#{x\ 4320}#) (cons '#(syntax-object vector ((top) #(ribcage #(x) #((top)) #("i4319")) #(ribcage #(x) #((top)) #("i4311")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4308")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{x\ 4320}#)) #{tmp\ 4318}#) (let ((#{_\ 4323}# #{tmp\ 4313}#)) (list '#(syntax-object list->vector ((top) #(ribcage #(_) #((top)) #("i4322")) #(ribcage #(x) #((top)) #("i4311")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4308")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{x\ 4312}#))))))))))) (#{quasi\ 4265}# (lambda (#{p\ 4324}# #{lev\ 4325}#) (let ((#{tmp\ 4328}# #{p\ 4324}#)) (let ((#{tmp\ 4329}# ($sc-dispatch #{tmp\ 4328}# '(#(free-id #(syntax-object unquote ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) any)))) (if #{tmp\ 4329}# (@apply (lambda (#{p\ 4331}#) (if (= #{lev\ 4325}# 0) #{p\ 4331}# (#{quasicons\ 4262}# '(#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i4330")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #(syntax-object unquote ((top) #(ribcage #(p) #((top)) #("i4330")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) (#{quasi\ 4265}# (list #{p\ 4331}#) (1- #{lev\ 4325}#))))) #{tmp\ 4329}#) (let ((#{tmp\ 4332}# ($sc-dispatch #{tmp\ 4328}# '(#(free-id #(syntax-object unquote ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) . any)))) (if (if #{tmp\ 4332}# (@apply (lambda (#{args\ 4334}#) (= #{lev\ 4325}# 0)) #{tmp\ 4332}#) #f) (@apply (lambda (#{args\ 4336}#) (syntax-violation 'unquote "unquote takes exactly one argument" #{p\ 4324}# (cons '#(syntax-object unquote ((top) #(ribcage #(args) #((top)) #("i4335")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{args\ 4336}#))) #{tmp\ 4332}#) (let ((#{tmp\ 4337}# ($sc-dispatch #{tmp\ 4328}# '((#(free-id #(syntax-object unquote-splicing ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) any) . any)))) (if #{tmp\ 4337}# (@apply (lambda (#{p\ 4340}# #{q\ 4341}#) (if (= #{lev\ 4325}# 0) (#{quasiappend\ 4263}# #{p\ 4340}# (#{quasi\ 4265}# #{q\ 4341}# #{lev\ 4325}#)) (#{quasicons\ 4262}# (#{quasicons\ 4262}# '(#(syntax-object quote ((top) #(ribcage #(p q) #((top) (top)) #("i4338" "i4339")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #(syntax-object unquote-splicing ((top) #(ribcage #(p q) #((top) (top)) #("i4338" "i4339")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) (#{quasi\ 4265}# (list #{p\ 4340}#) (1- #{lev\ 4325}#))) (#{quasi\ 4265}# #{q\ 4341}# #{lev\ 4325}#)))) #{tmp\ 4337}#) (let ((#{tmp\ 4342}# ($sc-dispatch #{tmp\ 4328}# '((#(free-id #(syntax-object unquote-splicing ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) . any) . any)))) (if (if #{tmp\ 4342}# (@apply (lambda (#{args\ 4345}# #{q\ 4346}#) (= #{lev\ 4325}# 0)) #{tmp\ 4342}#) #f) (@apply (lambda (#{args\ 4349}# #{q\ 4350}#) (syntax-violation 'unquote-splicing "unquote-splicing takes exactly one argument" #{p\ 4324}# (cons '#(syntax-object unquote-splicing ((top) #(ribcage #(args q) #((top) (top)) #("i4347" "i4348")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{args\ 4349}#))) #{tmp\ 4342}#) (let ((#{tmp\ 4351}# ($sc-dispatch #{tmp\ 4328}# '(#(free-id #(syntax-object quasiquote ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) any)))) (if #{tmp\ 4351}# (@apply (lambda (#{p\ 4353}#) (#{quasicons\ 4262}# '(#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i4352")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #(syntax-object quasiquote ((top) #(ribcage #(p) #((top)) #("i4352")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile))) (#{quasi\ 4265}# (list #{p\ 4353}#) (1+ #{lev\ 4325}#)))) #{tmp\ 4351}#) (let ((#{tmp\ 4354}# ($sc-dispatch #{tmp\ 4328}# '(any . any)))) (if #{tmp\ 4354}# (@apply (lambda (#{p\ 4357}# #{q\ 4358}#) (#{quasicons\ 4262}# (#{quasi\ 4265}# #{p\ 4357}# #{lev\ 4325}#) (#{quasi\ 4265}# #{q\ 4358}# #{lev\ 4325}#))) #{tmp\ 4354}#) (let ((#{tmp\ 4359}# ($sc-dispatch #{tmp\ 4328}# '#(vector each-any)))) (if #{tmp\ 4359}# (@apply (lambda (#{x\ 4361}#) (#{quasivector\ 4264}# (#{quasi\ 4265}# #{x\ 4361}# #{lev\ 4325}#))) #{tmp\ 4359}#) (let ((#{p\ 4364}# #{tmp\ 4328}#)) (list '#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i4363")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4326" "i4327")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4258" "i4259" "i4260" "i4261"))) (hygiene guile)) #{p\ 4364}#)))))))))))))))))))) (begin (lambda (#{x\ 4365}#) (let ((#{tmp\ 4367}# #{x\ 4365}#)) (let ((#{tmp\ 4368}# ($sc-dispatch #{tmp\ 4367}# (quote (_ any))))) (if #{tmp\ 4368}# (@apply (lambda (#{e\ 4370}#) (#{quasi\ 4265}# #{e\ 4370}# 0)) #{tmp\ 4368}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4367}#))))))))) (define include (make-syntax-transformer 'include 'macro (lambda (#{x\ 4371}#) (letrec* ((#{read-file\ 4374}# (lambda (#{fn\ 4375}# #{k\ 4376}#) (begin (let ((#{p\ 4380}# (open-input-file #{fn\ 4375}#))) (letrec* ((#{f\ 4384}# (lambda (#{x\ 4385}# #{result\ 4386}#) (if (eof-object? #{x\ 4385}#) (begin (close-input-port #{p\ 4380}#) (reverse #{result\ 4386}#)) (#{f\ 4384}# (read #{p\ 4380}#) (cons (datum->syntax #{k\ 4376}# #{x\ 4385}#) #{result\ 4386}#)))))) (begin (#{f\ 4384}# (read #{p\ 4380}#) (quote ()))))))))) (begin (let ((#{tmp\ 4387}# #{x\ 4371}#)) (let ((#{tmp\ 4388}# ($sc-dispatch #{tmp\ 4387}# (quote (any any))))) (if #{tmp\ 4388}# (@apply (lambda (#{k\ 4391}# #{filename\ 4392}#) (begin (let ((#{fn\ 4394}# (syntax->datum #{filename\ 4392}#))) (let ((#{tmp\ 4396}# (#{read-file\ 4374}# #{fn\ 4394}# #{filename\ 4392}#))) (let ((#{tmp\ 4397}# ($sc-dispatch #{tmp\ 4396}# 'each-any))) (if #{tmp\ 4397}# (@apply (lambda (#{exp\ 4399}#) (cons '#(syntax-object begin ((top) #(ribcage #(exp) #((top)) #("i4398")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i4393")) #(ribcage #(k filename) #((top) (top)) #("i4389" "i4390")) #(ribcage (read-file) ((top)) ("i4373")) #(ribcage #(x) #((top)) #("i4372"))) (hygiene guile)) #{exp\ 4399}#)) #{tmp\ 4397}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4396}#))))))) #{tmp\ 4388}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4387}#))))))))) (define include-from-path (make-syntax-transformer 'include-from-path 'macro (lambda (#{x\ 4401}#) (let ((#{tmp\ 4403}# #{x\ 4401}#)) (let ((#{tmp\ 4404}# ($sc-dispatch #{tmp\ 4403}# (quote (any any))))) (if #{tmp\ 4404}# (@apply (lambda (#{k\ 4407}# #{filename\ 4408}#) (begin (let ((#{fn\ 4410}# (syntax->datum #{filename\ 4408}#))) (let ((#{tmp\ 4412}# (datum->syntax #{filename\ 4408}# (begin (let ((#{t\ 4417}# (%search-load-path #{fn\ 4410}#))) (if #{t\ 4417}# #{t\ 4417}# (syntax-violation 'include-from-path "file not found in path" #{x\ 4401}# #{filename\ 4408}#))))))) (let ((#{fn\ 4414}# #{tmp\ 4412}#)) (list '#(syntax-object include ((top) #(ribcage #(fn) #((top)) #("i4413")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i4409")) #(ribcage #(k filename) #((top) (top)) #("i4405" "i4406")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4402"))) (hygiene guile)) #{fn\ 4414}#)))))) #{tmp\ 4404}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4403}#))))))) (define unquote (make-syntax-transformer 'unquote 'macro (lambda (#{x\ 4419}#) (let ((#{tmp\ 4421}# #{x\ 4419}#)) (let ((#{tmp\ 4422}# ($sc-dispatch #{tmp\ 4421}# (quote (_ any))))) (if #{tmp\ 4422}# (@apply (lambda (#{e\ 4424}#) (syntax-violation 'unquote "expression not valid outside of quasiquote" #{x\ 4419}#)) #{tmp\ 4422}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4421}#))))))) (define unquote-splicing (make-syntax-transformer 'unquote-splicing 'macro (lambda (#{x\ 4425}#) (let ((#{tmp\ 4427}# #{x\ 4425}#)) (let ((#{tmp\ 4428}# ($sc-dispatch #{tmp\ 4427}# (quote (_ any))))) (if #{tmp\ 4428}# (@apply (lambda (#{e\ 4430}#) (syntax-violation 'unquote-splicing "expression not valid outside of quasiquote" #{x\ 4425}#)) #{tmp\ 4428}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4427}#))))))) (define case (make-syntax-transformer 'case 'macro (lambda (#{x\ 4431}#) (let ((#{tmp\ 4433}# #{x\ 4431}#)) (let ((#{tmp\ 4434}# ($sc-dispatch #{tmp\ 4433}# '(_ any any . each-any)))) (if #{tmp\ 4434}# (@apply (lambda (#{e\ 4438}# #{m1\ 4439}# #{m2\ 4440}#) (let ((#{tmp\ 4442}# (letrec* ((#{f\ 4448}# (lambda (#{clause\ 4449}# #{clauses\ 4450}#) (if (null? #{clauses\ 4450}#) (let ((#{tmp\ 4452}# #{clause\ 4449}#)) (let ((#{tmp\ 4453}# ($sc-dispatch #{tmp\ 4452}# '(#(free-id #(syntax-object else ((top) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile))) any . each-any)))) (if #{tmp\ 4453}# (@apply (lambda (#{e1\ 4456}# #{e2\ 4457}#) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4454" "i4455")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) (cons #{e1\ 4456}# #{e2\ 4457}#))) #{tmp\ 4453}#) (let ((#{tmp\ 4459}# ($sc-dispatch #{tmp\ 4452}# '(each-any any . each-any)))) (if #{tmp\ 4459}# (@apply (lambda (#{k\ 4463}# #{e1\ 4464}# #{e2\ 4465}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4460" "i4461" "i4462")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) (list '#(syntax-object memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4460" "i4461" "i4462")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) '#(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4460" "i4461" "i4462")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) (list '#(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4460" "i4461" "i4462")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) #{k\ 4463}#)) (cons '#(syntax-object begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4460" "i4461" "i4462")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) (cons #{e1\ 4464}# #{e2\ 4465}#)))) #{tmp\ 4459}#) (let ((#{_\ 4469}# #{tmp\ 4452}#)) (syntax-violation 'case "bad clause" #{x\ 4431}# #{clause\ 4449}#))))))) (let ((#{tmp\ 4471}# (#{f\ 4448}# (car #{clauses\ 4450}#) (cdr #{clauses\ 4450}#)))) (let ((#{rest\ 4473}# #{tmp\ 4471}#)) (let ((#{tmp\ 4474}# #{clause\ 4449}#)) (let ((#{tmp\ 4475}# ($sc-dispatch #{tmp\ 4474}# '(each-any any . each-any)))) (if #{tmp\ 4475}# (@apply (lambda (#{k\ 4479}# #{e1\ 4480}# #{e2\ 4481}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4476" "i4477" "i4478")) #(ribcage #(rest) #((top)) #("i4472")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) (list '#(syntax-object memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4476" "i4477" "i4478")) #(ribcage #(rest) #((top)) #("i4472")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) '#(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4476" "i4477" "i4478")) #(ribcage #(rest) #((top)) #("i4472")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) (list '#(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4476" "i4477" "i4478")) #(ribcage #(rest) #((top)) #("i4472")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) #{k\ 4479}#)) (cons '#(syntax-object begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4476" "i4477" "i4478")) #(ribcage #(rest) #((top)) #("i4472")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4445" "i4446" "i4447")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) (cons #{e1\ 4480}# #{e2\ 4481}#)) #{rest\ 4473}#)) #{tmp\ 4475}#) (let ((#{_\ 4485}# #{tmp\ 4474}#)) (syntax-violation 'case "bad clause" #{x\ 4431}# #{clause\ 4449}#))))))))))) (begin (#{f\ 4448}# #{m1\ 4439}# #{m2\ 4440}#))))) (let ((#{body\ 4444}# #{tmp\ 4442}#)) (list '#(syntax-object let ((top) #(ribcage #(body) #((top)) #("i4443")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) (list (list '#(syntax-object t ((top) #(ribcage #(body) #((top)) #("i4443")) #(ribcage #(e m1 m2) #((top) (top) (top)) #("i4435" "i4436" "i4437")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4432"))) (hygiene guile)) #{e\ 4438}#)) #{body\ 4444}#)))) #{tmp\ 4434}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4433}#))))))) (define make-variable-transformer (lambda (#{proc\ 4486}#) (if (procedure? #{proc\ 4486}#) (begin (letrec* ((#{trans\ 4489}# (lambda (#{x\ 4490}#) (#{proc\ 4486}# #{x\ 4490}#)))) (begin (set-procedure-property! #{trans\ 4489}# 'variable-transformer #t) #{trans\ 4489}#))) (error "variable transformer not a procedure" #{proc\ 4486}#)))) (define identifier-syntax (make-syntax-transformer 'identifier-syntax 'macro (lambda (#{x\ 4492}#) (let ((#{tmp\ 4494}# #{x\ 4492}#)) (let ((#{tmp\ 4495}# ($sc-dispatch #{tmp\ 4494}# (quote (_ any))))) (if #{tmp\ 4495}# (@apply (lambda (#{e\ 4497}#) (list '#(syntax-object lambda ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile))) '#((#(syntax-object macro-type ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) . #(syntax-object identifier-syntax ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)))) (list '#(syntax-object syntax-case ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) '#(syntax-object x ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) '() (list '#(syntax-object id ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) '(#(syntax-object identifier? ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) (#(syntax-object syntax ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #(syntax-object id ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #{e\ 4497}#)) (list '(#(syntax-object _ ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #(syntax-object x ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile))) (list '#(syntax-object syntax ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) (cons #{e\ 4497}# '(#(syntax-object x ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(e) #((top)) #("i4496")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile))))))))) #{tmp\ 4495}#) (let ((#{tmp\ 4498}# ($sc-dispatch #{tmp\ 4494}# '(_ (any any) ((#(free-id #(syntax-object set! ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile))) any any) any))))) (if (if #{tmp\ 4498}# (@apply (lambda (#{id\ 4504}# #{exp1\ 4505}# #{var\ 4506}# #{val\ 4507}# #{exp2\ 4508}#) (if (identifier? #{id\ 4504}#) (identifier? #{var\ 4506}#) #f)) #{tmp\ 4498}#) #f) (@apply (lambda (#{id\ 4516}# #{exp1\ 4517}# #{var\ 4518}# #{val\ 4519}# #{exp2\ 4520}#) (list '#(syntax-object make-variable-transformer ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) (list '#(syntax-object lambda ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile))) '#((#(syntax-object macro-type ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) . #(syntax-object variable-transformer ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)))) (list '#(syntax-object syntax-case ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) '#(syntax-object x ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) '(#(syntax-object set! ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile))) (list (list '#(syntax-object set! ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #{var\ 4518}# #{val\ 4519}#) (list '#(syntax-object syntax ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #{exp2\ 4520}#)) (list (cons #{id\ 4516}# '(#(syntax-object x ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) (cons #{exp1\ 4517}# '(#(syntax-object x ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)))))) (list #{id\ 4516}# (list '#(syntax-object identifier? ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) (list '#(syntax-object syntax ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #{id\ 4516}#)) (list '#(syntax-object syntax ((top) #(ribcage #(id exp1 var val exp2) #((top) (top) (top) (top) (top)) #("i4511" "i4512" "i4513" "i4514" "i4515")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4493"))) (hygiene guile)) #{exp1\ 4517}#)))))) #{tmp\ 4498}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4494}#))))))))) (define define* (make-syntax-transformer 'define* 'macro (lambda (#{x\ 4521}#) (let ((#{tmp\ 4523}# #{x\ 4521}#)) (let ((#{tmp\ 4524}# ($sc-dispatch #{tmp\ 4523}# '(_ (any . any) any . each-any)))) (if #{tmp\ 4524}# (@apply (lambda (#{id\ 4529}# #{args\ 4530}# #{b0\ 4531}# #{b1\ 4532}#) (list '#(syntax-object define ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) #("i4525" "i4526" "i4527" "i4528")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4522"))) (hygiene guile)) #{id\ 4529}# (cons '#(syntax-object lambda* ((top) #(ribcage #(id args b0 b1) #((top) (top) (top) (top)) #("i4525" "i4526" "i4527" "i4528")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4522"))) (hygiene guile)) (cons #{args\ 4530}# (cons #{b0\ 4531}# #{b1\ 4532}#))))) #{tmp\ 4524}#) (let ((#{tmp\ 4534}# ($sc-dispatch #{tmp\ 4523}# (quote (_ any any))))) (if (if #{tmp\ 4534}# (@apply (lambda (#{id\ 4537}# #{val\ 4538}#) (identifier? '#(syntax-object x ((top) #(ribcage #(id val) #((top) (top)) #("i4535" "i4536")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4522"))) (hygiene guile)))) #{tmp\ 4534}#) #f) (@apply (lambda (#{id\ 4541}# #{val\ 4542}#) (list '#(syntax-object define ((top) #(ribcage #(id val) #((top) (top)) #("i4539" "i4540")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4522"))) (hygiene guile)) #{id\ 4541}# #{val\ 4542}#)) #{tmp\ 4534}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4523}#)))))))))