(eval-when (compile) (set-current-module (resolve-module (quote (guile))))) (if #f #f) (letrec* ((#{and-map*\ 35}# (lambda (#{f\ 207}# #{first\ 208}# . #{rest\ 209}#) (begin (let ((#{t\ 215}# (null? #{first\ 208}#))) (if #{t\ 215}# #{t\ 215}# (if (null? #{rest\ 209}#) (letrec* ((#{andmap\ 219}# (lambda (#{first\ 220}#) (begin (let ((#{x\ 223}# (car #{first\ 220}#)) (#{first\ 224}# (cdr #{first\ 220}#))) (if (null? #{first\ 224}#) (#{f\ 207}# #{x\ 223}#) (if (#{f\ 207}# #{x\ 223}#) (#{andmap\ 219}# #{first\ 224}#) #f))))))) (begin (#{andmap\ 219}# #{first\ 208}#))) (letrec* ((#{andmap\ 230}# (lambda (#{first\ 231}# #{rest\ 232}#) (begin (let ((#{x\ 237}# (car #{first\ 231}#)) (#{xr\ 238}# (map car #{rest\ 232}#)) (#{first\ 239}# (cdr #{first\ 231}#)) (#{rest\ 240}# (map cdr #{rest\ 232}#))) (if (null? #{first\ 239}#) (@apply #{f\ 207}# (cons #{x\ 237}# #{xr\ 238}#)) (if (@apply #{f\ 207}# (cons #{x\ 237}# #{xr\ 238}#)) (#{andmap\ 230}# #{first\ 239}# #{rest\ 240}#) #f))))))) (begin (#{andmap\ 230}# #{first\ 208}# #{rest\ 209}#)))))))))) (begin (let ((#{make-primitive-ref\ 249}# (if #f #f)) (#{fx+\ 288}# (if #f #f)) (#{fx-\ 290}# (if #f #f)) (#{fx=\ 292}# (if #f #f)) (#{fx<\ 294}# (if #f #f)) (#{set-syntax-object-expression!\ 359}# (if #f #f)) (#{set-syntax-object-wrap!\ 361}# (if #f #f)) (#{set-syntax-object-module!\ 363}# (if #f #f)) (#{binding-type\ 370}# (if #f #f)) (#{binding-value\ 372}# (if #f #f)) (#{make-wrap\ 392}# (if #f #f)) (#{wrap-marks\ 394}# (if #f #f)) (#{wrap-subst\ 396}# (if #f #f)) (#{ribcage?\ 410}# (if #f #f))) (letrec* ((#{make-void\ 245}# (lambda (#{src\ 717}#) (make-struct/no-tail (vector-ref %expanded-vtables 0) #{src\ 717}#))) (#{make-const\ 247}# (lambda (#{src\ 719}# #{exp\ 720}#) (make-struct/no-tail (vector-ref %expanded-vtables 1) #{src\ 719}# #{exp\ 720}#))) (#{make-lexical-ref\ 251}# (lambda (#{src\ 727}# #{name\ 728}# #{gensym\ 729}#) (make-struct/no-tail (vector-ref %expanded-vtables 3) #{src\ 727}# #{name\ 728}# #{gensym\ 729}#))) (#{make-lexical-set\ 253}# (lambda (#{src\ 733}# #{name\ 734}# #{gensym\ 735}# #{exp\ 736}#) (make-struct/no-tail (vector-ref %expanded-vtables 4) #{src\ 733}# #{name\ 734}# #{gensym\ 735}# #{exp\ 736}#))) (#{make-module-ref\ 255}# (lambda (#{src\ 741}# #{mod\ 742}# #{name\ 743}# #{public?\ 744}#) (make-struct/no-tail (vector-ref %expanded-vtables 5) #{src\ 741}# #{mod\ 742}# #{name\ 743}# #{public?\ 744}#))) (#{make-module-set\ 257}# (lambda (#{src\ 749}# #{mod\ 750}# #{name\ 751}# #{public?\ 752}# #{exp\ 753}#) (make-struct/no-tail (vector-ref %expanded-vtables 6) #{src\ 749}# #{mod\ 750}# #{name\ 751}# #{public?\ 752}# #{exp\ 753}#))) (#{make-toplevel-ref\ 259}# (lambda (#{src\ 759}# #{name\ 760}#) (make-struct/no-tail (vector-ref %expanded-vtables 7) #{src\ 759}# #{name\ 760}#))) (#{make-toplevel-set\ 261}# (lambda (#{src\ 763}# #{name\ 764}# #{exp\ 765}#) (make-struct/no-tail (vector-ref %expanded-vtables 8) #{src\ 763}# #{name\ 764}# #{exp\ 765}#))) (#{make-toplevel-define\ 263}# (lambda (#{src\ 769}# #{name\ 770}# #{exp\ 771}#) (make-struct/no-tail (vector-ref %expanded-vtables 9) #{src\ 769}# #{name\ 770}# #{exp\ 771}#))) (#{make-conditional\ 265}# (lambda (#{src\ 775}# #{test\ 776}# #{consequent\ 777}# #{alternate\ 778}#) (make-struct/no-tail (vector-ref %expanded-vtables 10) #{src\ 775}# #{test\ 776}# #{consequent\ 777}# #{alternate\ 778}#))) (#{make-application\ 267}# (lambda (#{src\ 783}# #{proc\ 784}# #{args\ 785}#) (make-struct/no-tail (vector-ref %expanded-vtables 11) #{src\ 783}# #{proc\ 784}# #{args\ 785}#))) (#{make-sequence\ 269}# (lambda (#{src\ 789}# #{exps\ 790}#) (make-struct/no-tail (vector-ref %expanded-vtables 12) #{src\ 789}# #{exps\ 790}#))) (#{make-lambda\ 271}# (lambda (#{src\ 793}# #{meta\ 794}# #{body\ 795}#) (make-struct/no-tail (vector-ref %expanded-vtables 13) #{src\ 793}# #{meta\ 794}# #{body\ 795}#))) (#{make-lambda-case\ 273}# (lambda (#{src\ 799}# #{req\ 800}# #{opt\ 801}# #{rest\ 802}# #{kw\ 803}# #{inits\ 804}# #{gensyms\ 805}# #{body\ 806}# #{alternate\ 807}#) (make-struct/no-tail (vector-ref %expanded-vtables 14) #{src\ 799}# #{req\ 800}# #{opt\ 801}# #{rest\ 802}# #{kw\ 803}# #{inits\ 804}# #{gensyms\ 805}# #{body\ 806}# #{alternate\ 807}#))) (#{make-let\ 275}# (lambda (#{src\ 817}# #{names\ 818}# #{gensyms\ 819}# #{vals\ 820}# #{body\ 821}#) (make-struct/no-tail (vector-ref %expanded-vtables 15) #{src\ 817}# #{names\ 818}# #{gensyms\ 819}# #{vals\ 820}# #{body\ 821}#))) (#{make-letrec\ 277}# (lambda (#{src\ 827}# #{in-order?\ 828}# #{names\ 829}# #{gensyms\ 830}# #{vals\ 831}# #{body\ 832}#) (make-struct/no-tail (vector-ref %expanded-vtables 16) #{src\ 827}# #{in-order?\ 828}# #{names\ 829}# #{gensyms\ 830}# #{vals\ 831}# #{body\ 832}#))) (#{make-dynlet\ 279}# (lambda (#{src\ 839}# #{fluids\ 840}# #{vals\ 841}# #{body\ 842}#) (make-struct/no-tail (vector-ref %expanded-vtables 17) #{src\ 839}# #{fluids\ 840}# #{vals\ 841}# #{body\ 842}#))) (#{lambda?\ 282}# (lambda (#{x\ 847}#) (if (struct? #{x\ 847}#) (eq? (struct-vtable #{x\ 847}#) (vector-ref %expanded-vtables 13)) #f))) (#{lambda-meta\ 284}# (lambda (#{x\ 851}#) (struct-ref #{x\ 851}# 1))) (#{set-lambda-meta!\ 286}# (lambda (#{x\ 853}# #{v\ 854}#) (struct-set! #{x\ 853}# 1 #{v\ 854}#))) (#{top-level-eval-hook\ 296}# (lambda (#{x\ 857}# #{mod\ 858}#) (primitive-eval #{x\ 857}#))) (#{local-eval-hook\ 298}# (lambda (#{x\ 861}# #{mod\ 862}#) (primitive-eval #{x\ 861}#))) (#{put-global-definition-hook\ 301}# (lambda (#{symbol\ 865}# #{type\ 866}# #{val\ 867}#) (module-define! (current-module) #{symbol\ 865}# (make-syntax-transformer #{symbol\ 865}# #{type\ 866}# #{val\ 867}#)))) (#{get-global-definition-hook\ 303}# (lambda (#{symbol\ 871}# #{module\ 872}#) (begin (if (if (not #{module\ 872}#) (current-module) #f) (warn "module system is booted, we should have a module" #{symbol\ 871}#)) (begin (let ((#{v\ 878}# (module-variable (if #{module\ 872}# (resolve-module (cdr #{module\ 872}#)) (current-module)) #{symbol\ 871}#))) (if #{v\ 878}# (if (variable-bound? #{v\ 878}#) (begin (let ((#{val\ 883}# (variable-ref #{v\ 878}#))) (if (macro? #{val\ 883}#) (if (macro-type #{val\ 883}#) (cons (macro-type #{val\ 883}#) (macro-binding #{val\ 883}#)) #f) #f))) #f) #f)))))) (#{decorate-source\ 305}# (lambda (#{e\ 887}# #{s\ 888}#) (begin (if (if (pair? #{e\ 887}#) #{s\ 888}# #f) (set-source-properties! #{e\ 887}# #{s\ 888}#)) #{e\ 887}#))) (#{build-void\ 307}# (lambda (#{source\ 893}#) (#{make-void\ 245}# #{source\ 893}#))) (#{build-application\ 309}# (lambda (#{source\ 895}# #{fun-exp\ 896}# #{arg-exps\ 897}#) (#{make-application\ 267}# #{source\ 895}# #{fun-exp\ 896}# #{arg-exps\ 897}#))) (#{build-conditional\ 311}# (lambda (#{source\ 901}# #{test-exp\ 902}# #{then-exp\ 903}# #{else-exp\ 904}#) (#{make-conditional\ 265}# #{source\ 901}# #{test-exp\ 902}# #{then-exp\ 903}# #{else-exp\ 904}#))) (#{build-dynlet\ 313}# (lambda (#{source\ 909}# #{fluids\ 910}# #{vals\ 911}# #{body\ 912}#) (#{make-dynlet\ 279}# #{source\ 909}# #{fluids\ 910}# #{vals\ 911}# #{body\ 912}#))) (#{build-lexical-reference\ 315}# (lambda (#{type\ 917}# #{source\ 918}# #{name\ 919}# #{var\ 920}#) (#{make-lexical-ref\ 251}# #{source\ 918}# #{name\ 919}# #{var\ 920}#))) (#{build-lexical-assignment\ 317}# (lambda (#{source\ 925}# #{name\ 926}# #{var\ 927}# #{exp\ 928}#) (#{make-lexical-set\ 253}# #{source\ 925}# #{name\ 926}# #{var\ 927}# #{exp\ 928}#))) (#{analyze-variable\ 319}# (lambda (#{mod\ 933}# #{var\ 934}# #{modref-cont\ 935}# #{bare-cont\ 936}#) (if (not #{mod\ 933}#) (#{bare-cont\ 936}# #{var\ 934}#) (begin (let ((#{kind\ 943}# (car #{mod\ 933}#)) (#{mod\ 944}# (cdr #{mod\ 933}#))) (if (eqv? #{kind\ 943}# (quote public)) (#{modref-cont\ 935}# #{mod\ 944}# #{var\ 934}# #t) (if (eqv? #{kind\ 943}# (quote private)) (if (not (equal? #{mod\ 944}# (module-name (current-module)))) (#{modref-cont\ 935}# #{mod\ 944}# #{var\ 934}# #f) (#{bare-cont\ 936}# #{var\ 934}#)) (if (eqv? #{kind\ 943}# (quote bare)) (#{bare-cont\ 936}# #{var\ 934}#) (if (eqv? #{kind\ 943}# (quote hygiene)) (if (if (not (equal? #{mod\ 944}# (module-name (current-module)))) (module-variable (resolve-module #{mod\ 944}#) #{var\ 934}#) #f) (#{modref-cont\ 935}# #{mod\ 944}# #{var\ 934}# #f) (#{bare-cont\ 936}# #{var\ 934}#)) (syntax-violation #f "bad module kind" #{var\ 934}# #{mod\ 944}#)))))))))) (#{build-global-reference\ 321}# (lambda (#{source\ 952}# #{var\ 953}# #{mod\ 954}#) (#{analyze-variable\ 319}# #{mod\ 954}# #{var\ 953}# (lambda (#{mod\ 958}# #{var\ 959}# #{public?\ 960}#) (#{make-module-ref\ 255}# #{source\ 952}# #{mod\ 958}# #{var\ 959}# #{public?\ 960}#)) (lambda (#{var\ 964}#) (#{make-toplevel-ref\ 259}# #{source\ 952}# #{var\ 964}#))))) (#{build-global-assignment\ 323}# (lambda (#{source\ 966}# #{var\ 967}# #{exp\ 968}# #{mod\ 969}#) (#{analyze-variable\ 319}# #{mod\ 969}# #{var\ 967}# (lambda (#{mod\ 974}# #{var\ 975}# #{public?\ 976}#) (#{make-module-set\ 257}# #{source\ 966}# #{mod\ 974}# #{var\ 975}# #{public?\ 976}# #{exp\ 968}#)) (lambda (#{var\ 980}#) (#{make-toplevel-set\ 261}# #{source\ 966}# #{var\ 980}# #{exp\ 968}#))))) (#{maybe-name-value!\ 325}# (lambda (#{name\ 982}# #{val\ 983}#) (if (#{lambda?\ 282}# #{val\ 983}#) (begin (let ((#{meta\ 987}# (#{lambda-meta\ 284}# #{val\ 983}#))) (if (not (assq (quote name) #{meta\ 987}#)) (#{set-lambda-meta!\ 286}# #{val\ 983}# (cons (cons (quote name) #{name\ 982}#) #{meta\ 987}#)))))))) (#{build-global-definition\ 327}# (lambda (#{source\ 988}# #{var\ 989}# #{exp\ 990}#) (begin (#{maybe-name-value!\ 325}# #{var\ 989}# #{exp\ 990}#) (#{make-toplevel-define\ 263}# #{source\ 988}# #{var\ 989}# #{exp\ 990}#)))) (#{build-simple-lambda\ 329}# (lambda (#{src\ 994}# #{req\ 995}# #{rest\ 996}# #{vars\ 997}# #{meta\ 998}# #{exp\ 999}#) (#{make-lambda\ 271}# #{src\ 994}# #{meta\ 998}# (#{make-lambda-case\ 273}# #{src\ 994}# #{req\ 995}# #f #{rest\ 996}# #f '() #{vars\ 997}# #{exp\ 999}# #f)))) (#{build-case-lambda\ 331}# (lambda (#{src\ 1006}# #{meta\ 1007}# #{body\ 1008}#) (#{make-lambda\ 271}# #{src\ 1006}# #{meta\ 1007}# #{body\ 1008}#))) (#{build-lambda-case\ 333}# (lambda (#{src\ 1012}# #{req\ 1013}# #{opt\ 1014}# #{rest\ 1015}# #{kw\ 1016}# #{inits\ 1017}# #{vars\ 1018}# #{body\ 1019}# #{else-case\ 1020}#) (#{make-lambda-case\ 273}# #{src\ 1012}# #{req\ 1013}# #{opt\ 1014}# #{rest\ 1015}# #{kw\ 1016}# #{inits\ 1017}# #{vars\ 1018}# #{body\ 1019}# #{else-case\ 1020}#))) (#{build-primref\ 335}# (lambda (#{src\ 1030}# #{name\ 1031}#) (if (equal? (module-name (current-module)) '(guile)) (#{make-toplevel-ref\ 259}# #{src\ 1030}# #{name\ 1031}#) (#{make-module-ref\ 255}# #{src\ 1030}# '(guile) #{name\ 1031}# #f)))) (#{build-data\ 337}# (lambda (#{src\ 1034}# #{exp\ 1035}#) (#{make-const\ 247}# #{src\ 1034}# #{exp\ 1035}#))) (#{build-sequence\ 339}# (lambda (#{src\ 1038}# #{exps\ 1039}#) (if (null? (cdr #{exps\ 1039}#)) (car #{exps\ 1039}#) (#{make-sequence\ 269}# #{src\ 1038}# #{exps\ 1039}#)))) (#{build-let\ 341}# (lambda (#{src\ 1042}# #{ids\ 1043}# #{vars\ 1044}# #{val-exps\ 1045}# #{body-exp\ 1046}#) (begin (for-each #{maybe-name-value!\ 325}# #{ids\ 1043}# #{val-exps\ 1045}#) (if (null? #{vars\ 1044}#) #{body-exp\ 1046}# (#{make-let\ 275}# #{src\ 1042}# #{ids\ 1043}# #{vars\ 1044}# #{val-exps\ 1045}# #{body-exp\ 1046}#))))) (#{build-named-let\ 343}# (lambda (#{src\ 1052}# #{ids\ 1053}# #{vars\ 1054}# #{val-exps\ 1055}# #{body-exp\ 1056}#) (begin (let ((#{f\ 1066}# (car #{vars\ 1054}#)) (#{f-name\ 1067}# (car #{ids\ 1053}#)) (#{vars\ 1068}# (cdr #{vars\ 1054}#)) (#{ids\ 1069}# (cdr #{ids\ 1053}#))) (begin (let ((#{proc\ 1071}# (#{build-simple-lambda\ 329}# #{src\ 1052}# #{ids\ 1069}# #f #{vars\ 1068}# '() #{body-exp\ 1056}#))) (begin (#{maybe-name-value!\ 325}# #{f-name\ 1067}# #{proc\ 1071}#) (for-each #{maybe-name-value!\ 325}# #{ids\ 1069}# #{val-exps\ 1055}#) (#{make-letrec\ 277}# #{src\ 1052}# #f (list #{f-name\ 1067}#) (list #{f\ 1066}#) (list #{proc\ 1071}#) (#{build-application\ 309}# #{src\ 1052}# (#{build-lexical-reference\ 315}# 'fun #{src\ 1052}# #{f-name\ 1067}# #{f\ 1066}#) #{val-exps\ 1055}#))))))))) (#{build-letrec\ 345}# (lambda (#{src\ 1072}# #{in-order?\ 1073}# #{ids\ 1074}# #{vars\ 1075}# #{val-exps\ 1076}# #{body-exp\ 1077}#) (if (null? #{vars\ 1075}#) #{body-exp\ 1077}# (begin (for-each #{maybe-name-value!\ 325}# #{ids\ 1074}# #{val-exps\ 1076}#) (#{make-letrec\ 277}# #{src\ 1072}# #{in-order?\ 1073}# #{ids\ 1074}# #{vars\ 1075}# #{val-exps\ 1076}# #{body-exp\ 1077}#))))) (#{make-syntax-object\ 349}# (lambda (#{expression\ 1084}# #{wrap\ 1085}# #{module\ 1086}#) (vector 'syntax-object #{expression\ 1084}# #{wrap\ 1085}# #{module\ 1086}#))) (#{syntax-object?\ 351}# (lambda (#{x\ 1090}#) (if (vector? #{x\ 1090}#) (if (= (vector-length #{x\ 1090}#) 4) (eq? (vector-ref #{x\ 1090}# 0) 'syntax-object) #f) #f))) (#{syntax-object-expression\ 353}# (lambda (#{x\ 1095}#) (vector-ref #{x\ 1095}# 1))) (#{syntax-object-wrap\ 355}# (lambda (#{x\ 1097}#) (vector-ref #{x\ 1097}# 2))) (#{syntax-object-module\ 357}# (lambda (#{x\ 1099}#) (vector-ref #{x\ 1099}# 3))) (#{source-annotation\ 366}# (lambda (#{x\ 1113}#) (if (#{syntax-object?\ 351}# #{x\ 1113}#) (#{source-annotation\ 366}# (#{syntax-object-expression\ 353}# #{x\ 1113}#)) (if (pair? #{x\ 1113}#) (begin (let ((#{props\ 1120}# (source-properties #{x\ 1113}#))) (if (pair? #{props\ 1120}#) #{props\ 1120}# #f))) #f)))) (#{extend-env\ 375}# (lambda (#{labels\ 1122}# #{bindings\ 1123}# #{r\ 1124}#) (if (null? #{labels\ 1122}#) #{r\ 1124}# (#{extend-env\ 375}# (cdr #{labels\ 1122}#) (cdr #{bindings\ 1123}#) (cons (cons (car #{labels\ 1122}#) (car #{bindings\ 1123}#)) #{r\ 1124}#))))) (#{extend-var-env\ 377}# (lambda (#{labels\ 1128}# #{vars\ 1129}# #{r\ 1130}#) (if (null? #{labels\ 1128}#) #{r\ 1130}# (#{extend-var-env\ 377}# (cdr #{labels\ 1128}#) (cdr #{vars\ 1129}#) (cons (cons (car #{labels\ 1128}#) (cons (quote lexical) (car #{vars\ 1129}#))) #{r\ 1130}#))))) (#{macros-only-env\ 379}# (lambda (#{r\ 1135}#) (if (null? #{r\ 1135}#) '() (begin (let ((#{a\ 1138}# (car #{r\ 1135}#))) (if (eq? (car (cdr #{a\ 1138}#)) (quote macro)) (cons #{a\ 1138}# (#{macros-only-env\ 379}# (cdr #{r\ 1135}#))) (#{macros-only-env\ 379}# (cdr #{r\ 1135}#)))))))) (#{lookup\ 381}# (lambda (#{x\ 1139}# #{r\ 1140}# #{mod\ 1141}#) (begin (let ((#{t\ 1147}# (assq #{x\ 1139}# #{r\ 1140}#))) (if #{t\ 1147}# (cdr #{t\ 1147}#) (if (symbol? #{x\ 1139}#) (begin (let ((#{t\ 1153}# (#{get-global-definition-hook\ 303}# #{x\ 1139}# #{mod\ 1141}#))) (if #{t\ 1153}# #{t\ 1153}# (quote (global))))) '(displaced-lexical))))))) (#{global-extend\ 383}# (lambda (#{type\ 1158}# #{sym\ 1159}# #{val\ 1160}#) (#{put-global-definition-hook\ 301}# #{sym\ 1159}# #{type\ 1158}# #{val\ 1160}#))) (#{nonsymbol-id?\ 385}# (lambda (#{x\ 1164}#) (if (#{syntax-object?\ 351}# #{x\ 1164}#) (symbol? (#{syntax-object-expression\ 353}# #{x\ 1164}#)) #f))) (#{id?\ 387}# (lambda (#{x\ 1168}#) (if (symbol? #{x\ 1168}#) #t (if (#{syntax-object?\ 351}# #{x\ 1168}#) (symbol? (#{syntax-object-expression\ 353}# #{x\ 1168}#)) #f)))) (#{id-sym-name&marks\ 390}# (lambda (#{x\ 1175}# #{w\ 1176}#) (if (#{syntax-object?\ 351}# #{x\ 1175}#) (values (#{syntax-object-expression\ 353}# #{x\ 1175}#) (#{join-marks\ 440}# (#{wrap-marks\ 394}# #{w\ 1176}#) (#{wrap-marks\ 394}# (#{syntax-object-wrap\ 355}# #{x\ 1175}#)))) (values #{x\ 1175}# (#{wrap-marks\ 394}# #{w\ 1176}#))))) (#{gen-label\ 403}# (lambda () (symbol->string (gensym "i")))) (#{gen-labels\ 405}# (lambda (#{ls\ 1179}#) (if (null? #{ls\ 1179}#) '() (cons (#{gen-label\ 403}#) (#{gen-labels\ 405}# (cdr #{ls\ 1179}#)))))) (#{make-ribcage\ 408}# (lambda (#{symnames\ 1181}# #{marks\ 1182}# #{labels\ 1183}#) (vector 'ribcage #{symnames\ 1181}# #{marks\ 1182}# #{labels\ 1183}#))) (#{ribcage-symnames\ 412}# (lambda (#{x\ 1192}#) (vector-ref #{x\ 1192}# 1))) (#{ribcage-marks\ 414}# (lambda (#{x\ 1194}#) (vector-ref #{x\ 1194}# 2))) (#{ribcage-labels\ 416}# (lambda (#{x\ 1196}#) (vector-ref #{x\ 1196}# 3))) (#{set-ribcage-symnames!\ 418}# (lambda (#{x\ 1198}# #{update\ 1199}#) (vector-set! #{x\ 1198}# 1 #{update\ 1199}#))) (#{set-ribcage-marks!\ 420}# (lambda (#{x\ 1202}# #{update\ 1203}#) (vector-set! #{x\ 1202}# 2 #{update\ 1203}#))) (#{set-ribcage-labels!\ 422}# (lambda (#{x\ 1206}# #{update\ 1207}#) (vector-set! #{x\ 1206}# 3 #{update\ 1207}#))) (#{anti-mark\ 428}# (lambda (#{w\ 1210}#) (#{make-wrap\ 392}# (cons #f (#{wrap-marks\ 394}# #{w\ 1210}#)) (cons 'shift (#{wrap-subst\ 396}# #{w\ 1210}#))))) (#{extend-ribcage!\ 432}# (lambda (#{ribcage\ 1213}# #{id\ 1214}# #{label\ 1215}#) (begin (#{set-ribcage-symnames!\ 418}# #{ribcage\ 1213}# (cons (#{syntax-object-expression\ 353}# #{id\ 1214}#) (#{ribcage-symnames\ 412}# #{ribcage\ 1213}#))) (#{set-ribcage-marks!\ 420}# #{ribcage\ 1213}# (cons (#{wrap-marks\ 394}# (#{syntax-object-wrap\ 355}# #{id\ 1214}#)) (#{ribcage-marks\ 414}# #{ribcage\ 1213}#))) (#{set-ribcage-labels!\ 422}# #{ribcage\ 1213}# (cons #{label\ 1215}# (#{ribcage-labels\ 416}# #{ribcage\ 1213}#)))))) (#{make-binding-wrap\ 434}# (lambda (#{ids\ 1219}# #{labels\ 1220}# #{w\ 1221}#) (if (null? #{ids\ 1219}#) #{w\ 1221}# (#{make-wrap\ 392}# (#{wrap-marks\ 394}# #{w\ 1221}#) (cons (begin (let ((#{labelvec\ 1226}# (list->vector #{labels\ 1220}#))) (begin (let ((#{n\ 1228}# (vector-length #{labelvec\ 1226}#))) (begin (let ((#{symnamevec\ 1231}# (make-vector #{n\ 1228}#)) (#{marksvec\ 1232}# (make-vector #{n\ 1228}#))) (begin (letrec* ((#{f\ 1236}# (lambda (#{ids\ 1237}# #{i\ 1238}#) (if (not (null? #{ids\ 1237}#)) (call-with-values (lambda () (#{id-sym-name&marks\ 390}# (car #{ids\ 1237}#) #{w\ 1221}#)) (lambda (#{symname\ 1239}# #{marks\ 1240}#) (begin (vector-set! #{symnamevec\ 1231}# #{i\ 1238}# #{symname\ 1239}#) (vector-set! #{marksvec\ 1232}# #{i\ 1238}# #{marks\ 1240}#) (#{f\ 1236}# (cdr #{ids\ 1237}#) (#{fx+\ 288}# #{i\ 1238}# 1))))))))) (begin (#{f\ 1236}# #{ids\ 1219}# 0))) (#{make-ribcage\ 408}# #{symnamevec\ 1231}# #{marksvec\ 1232}# #{labelvec\ 1226}#)))))))) (#{wrap-subst\ 396}# #{w\ 1221}#)))))) (#{smart-append\ 436}# (lambda (#{m1\ 1243}# #{m2\ 1244}#) (if (null? #{m2\ 1244}#) #{m1\ 1243}# (append #{m1\ 1243}# #{m2\ 1244}#)))) (#{join-wraps\ 438}# (lambda (#{w1\ 1247}# #{w2\ 1248}#) (begin (let ((#{m1\ 1253}# (#{wrap-marks\ 394}# #{w1\ 1247}#)) (#{s1\ 1254}# (#{wrap-subst\ 396}# #{w1\ 1247}#))) (if (null? #{m1\ 1253}#) (if (null? #{s1\ 1254}#) #{w2\ 1248}# (#{make-wrap\ 392}# (#{wrap-marks\ 394}# #{w2\ 1248}#) (#{smart-append\ 436}# #{s1\ 1254}# (#{wrap-subst\ 396}# #{w2\ 1248}#)))) (#{make-wrap\ 392}# (#{smart-append\ 436}# #{m1\ 1253}# (#{wrap-marks\ 394}# #{w2\ 1248}#)) (#{smart-append\ 436}# #{s1\ 1254}# (#{wrap-subst\ 396}# #{w2\ 1248}#)))))))) (#{join-marks\ 440}# (lambda (#{m1\ 1255}# #{m2\ 1256}#) (#{smart-append\ 436}# #{m1\ 1255}# #{m2\ 1256}#))) (#{same-marks?\ 442}# (lambda (#{x\ 1259}# #{y\ 1260}#) (begin (let ((#{t\ 1265}# (eq? #{x\ 1259}# #{y\ 1260}#))) (if #{t\ 1265}# #{t\ 1265}# (if (not (null? #{x\ 1259}#)) (if (not (null? #{y\ 1260}#)) (if (eq? (car #{x\ 1259}#) (car #{y\ 1260}#)) (#{same-marks?\ 442}# (cdr #{x\ 1259}#) (cdr #{y\ 1260}#)) #f) #f) #f)))))) (#{id-var-name\ 444}# (lambda (#{id\ 1271}# #{w\ 1272}#) (letrec* ((#{search\ 1277}# (lambda (#{sym\ 1293}# #{subst\ 1294}# #{marks\ 1295}#) (if (null? #{subst\ 1294}#) (values #f #{marks\ 1295}#) (begin (let ((#{fst\ 1300}# (car #{subst\ 1294}#))) (if (eq? #{fst\ 1300}# (quote shift)) (#{search\ 1277}# #{sym\ 1293}# (cdr #{subst\ 1294}#) (cdr #{marks\ 1295}#)) (begin (let ((#{symnames\ 1302}# (#{ribcage-symnames\ 412}# #{fst\ 1300}#))) (if (vector? #{symnames\ 1302}#) (#{search-vector-rib\ 1281}# #{sym\ 1293}# #{subst\ 1294}# #{marks\ 1295}# #{symnames\ 1302}# #{fst\ 1300}#) (#{search-list-rib\ 1279}# #{sym\ 1293}# #{subst\ 1294}# #{marks\ 1295}# #{symnames\ 1302}# #{fst\ 1300}#)))))))))) (#{search-list-rib\ 1279}# (lambda (#{sym\ 1303}# #{subst\ 1304}# #{marks\ 1305}# #{symnames\ 1306}# #{ribcage\ 1307}#) (letrec* ((#{f\ 1316}# (lambda (#{symnames\ 1317}# #{i\ 1318}#) (if (null? #{symnames\ 1317}#) (#{search\ 1277}# #{sym\ 1303}# (cdr #{subst\ 1304}#) #{marks\ 1305}#) (if (if (eq? (car #{symnames\ 1317}#) #{sym\ 1303}#) (#{same-marks?\ 442}# #{marks\ 1305}# (list-ref (#{ribcage-marks\ 414}# #{ribcage\ 1307}#) #{i\ 1318}#)) #f) (values (list-ref (#{ribcage-labels\ 416}# #{ribcage\ 1307}#) #{i\ 1318}#) #{marks\ 1305}#) (#{f\ 1316}# (cdr #{symnames\ 1317}#) (#{fx+\ 288}# #{i\ 1318}# 1))))))) (begin (#{f\ 1316}# #{symnames\ 1306}# 0))))) (#{search-vector-rib\ 1281}# (lambda (#{sym\ 1326}# #{subst\ 1327}# #{marks\ 1328}# #{symnames\ 1329}# #{ribcage\ 1330}#) (begin (let ((#{n\ 1337}# (vector-length #{symnames\ 1329}#))) (letrec* ((#{f\ 1340}# (lambda (#{i\ 1341}#) (if (#{fx=\ 292}# #{i\ 1341}# #{n\ 1337}#) (#{search\ 1277}# #{sym\ 1326}# (cdr #{subst\ 1327}#) #{marks\ 1328}#) (if (if (eq? (vector-ref #{symnames\ 1329}# #{i\ 1341}#) #{sym\ 1326}#) (#{same-marks?\ 442}# #{marks\ 1328}# (vector-ref (#{ribcage-marks\ 414}# #{ribcage\ 1330}#) #{i\ 1341}#)) #f) (values (vector-ref (#{ribcage-labels\ 416}# #{ribcage\ 1330}#) #{i\ 1341}#) #{marks\ 1328}#) (#{f\ 1340}# (#{fx+\ 288}# #{i\ 1341}# 1))))))) (begin (#{f\ 1340}# 0)))))))) (begin (if (symbol? #{id\ 1271}#) (begin (let ((#{t\ 1351}# (call-with-values (lambda () (#{search\ 1277}# #{id\ 1271}# (#{wrap-subst\ 396}# #{w\ 1272}#) (#{wrap-marks\ 394}# #{w\ 1272}#))) (lambda (#{x\ 1353}# . #{ignore\ 1354}#) #{x\ 1353}#)))) (if #{t\ 1351}# #{t\ 1351}# #{id\ 1271}#))) (if (#{syntax-object?\ 351}# #{id\ 1271}#) (begin (let ((#{id\ 1362}# (#{syntax-object-expression\ 353}# #{id\ 1271}#)) (#{w1\ 1363}# (#{syntax-object-wrap\ 355}# #{id\ 1271}#))) (begin (let ((#{marks\ 1365}# (#{join-marks\ 440}# (#{wrap-marks\ 394}# #{w\ 1272}#) (#{wrap-marks\ 394}# #{w1\ 1363}#)))) (call-with-values (lambda () (#{search\ 1277}# #{id\ 1362}# (#{wrap-subst\ 396}# #{w\ 1272}#) #{marks\ 1365}#)) (lambda (#{new-id\ 1366}# #{marks\ 1367}#) (begin (let ((#{t\ 1372}# #{new-id\ 1366}#)) (if #{t\ 1372}# #{t\ 1372}# (begin (let ((#{t\ 1375}# (call-with-values (lambda () (#{search\ 1277}# #{id\ 1362}# (#{wrap-subst\ 396}# #{w1\ 1363}#) #{marks\ 1367}#)) (lambda (#{x\ 1377}# . #{ignore\ 1378}#) #{x\ 1377}#)))) (if #{t\ 1375}# #{t\ 1375}# #{id\ 1362}#)))))))))))) (syntax-violation 'id-var-name "invalid id" #{id\ 1271}#))))))) (#{free-id=?\ 446}# (lambda (#{i\ 1383}# #{j\ 1384}#) (if (eq? (begin (let ((#{x\ 1390}# #{i\ 1383}#)) (if (#{syntax-object?\ 351}# #{x\ 1390}#) (#{syntax-object-expression\ 353}# #{x\ 1390}#) #{x\ 1390}#))) (begin (let ((#{x\ 1393}# #{j\ 1384}#)) (if (#{syntax-object?\ 351}# #{x\ 1393}#) (#{syntax-object-expression\ 353}# #{x\ 1393}#) #{x\ 1393}#)))) (eq? (#{id-var-name\ 444}# #{i\ 1383}# (quote (()))) (#{id-var-name\ 444}# #{j\ 1384}# (quote (())))) #f))) (#{bound-id=?\ 448}# (lambda (#{i\ 1397}# #{j\ 1398}#) (if (if (#{syntax-object?\ 351}# #{i\ 1397}#) (#{syntax-object?\ 351}# #{j\ 1398}#) #f) (if (eq? (#{syntax-object-expression\ 353}# #{i\ 1397}#) (#{syntax-object-expression\ 353}# #{j\ 1398}#)) (#{same-marks?\ 442}# (#{wrap-marks\ 394}# (#{syntax-object-wrap\ 355}# #{i\ 1397}#)) (#{wrap-marks\ 394}# (#{syntax-object-wrap\ 355}# #{j\ 1398}#))) #f) (eq? #{i\ 1397}# #{j\ 1398}#)))) (#{valid-bound-ids?\ 450}# (lambda (#{ids\ 1405}#) (if (letrec* ((#{all-ids?\ 1410}# (lambda (#{ids\ 1411}#) (begin (let ((#{t\ 1414}# (null? #{ids\ 1411}#))) (if #{t\ 1414}# #{t\ 1414}# (if (#{id?\ 387}# (car #{ids\ 1411}#)) (#{all-ids?\ 1410}# (cdr #{ids\ 1411}#)) #f))))))) (begin (#{all-ids?\ 1410}# #{ids\ 1405}#))) (#{distinct-bound-ids?\ 452}# #{ids\ 1405}#) #f))) (#{distinct-bound-ids?\ 452}# (lambda (#{ids\ 1419}#) (letrec* ((#{distinct?\ 1423}# (lambda (#{ids\ 1424}#) (begin (let ((#{t\ 1427}# (null? #{ids\ 1424}#))) (if #{t\ 1427}# #{t\ 1427}# (if (not (#{bound-id-member?\ 454}# (car #{ids\ 1424}#) (cdr #{ids\ 1424}#))) (#{distinct?\ 1423}# (cdr #{ids\ 1424}#)) #f))))))) (begin (#{distinct?\ 1423}# #{ids\ 1419}#))))) (#{bound-id-member?\ 454}# (lambda (#{x\ 1431}# #{list\ 1432}#) (if (not (null? #{list\ 1432}#)) (begin (let ((#{t\ 1439}# (#{bound-id=?\ 448}# #{x\ 1431}# (car #{list\ 1432}#)))) (if #{t\ 1439}# #{t\ 1439}# (#{bound-id-member?\ 454}# #{x\ 1431}# (cdr #{list\ 1432}#))))) #f))) (#{wrap\ 456}# (lambda (#{x\ 1441}# #{w\ 1442}# #{defmod\ 1443}#) (if (if (null? (#{wrap-marks\ 394}# #{w\ 1442}#)) (null? (#{wrap-subst\ 396}# #{w\ 1442}#)) #f) #{x\ 1441}# (if (#{syntax-object?\ 351}# #{x\ 1441}#) (#{make-syntax-object\ 349}# (#{syntax-object-expression\ 353}# #{x\ 1441}#) (#{join-wraps\ 438}# #{w\ 1442}# (#{syntax-object-wrap\ 355}# #{x\ 1441}#)) (#{syntax-object-module\ 357}# #{x\ 1441}#)) (if (null? #{x\ 1441}#) #{x\ 1441}# (#{make-syntax-object\ 349}# #{x\ 1441}# #{w\ 1442}# #{defmod\ 1443}#)))))) (#{source-wrap\ 458}# (lambda (#{x\ 1456}# #{w\ 1457}# #{s\ 1458}# #{defmod\ 1459}#) (#{wrap\ 456}# (#{decorate-source\ 305}# #{x\ 1456}# #{s\ 1458}#) #{w\ 1457}# #{defmod\ 1459}#))) (#{chi-sequence\ 460}# (lambda (#{body\ 1464}# #{r\ 1465}# #{w\ 1466}# #{s\ 1467}# #{mod\ 1468}#) (#{build-sequence\ 339}# #{s\ 1467}# (letrec* ((#{dobody\ 1479}# (lambda (#{body\ 1480}# #{r\ 1481}# #{w\ 1482}# #{mod\ 1483}#) (if (null? #{body\ 1480}#) '() (begin (let ((#{first\ 1485}# (#{chi\ 472}# (car #{body\ 1480}#) #{r\ 1481}# #{w\ 1482}# #{mod\ 1483}#))) (cons #{first\ 1485}# (#{dobody\ 1479}# (cdr #{body\ 1480}#) #{r\ 1481}# #{w\ 1482}# #{mod\ 1483}#)))))))) (begin (#{dobody\ 1479}# #{body\ 1464}# #{r\ 1465}# #{w\ 1466}# #{mod\ 1468}#)))))) (#{chi-top-sequence\ 462}# (lambda (#{body\ 1486}# #{r\ 1487}# #{w\ 1488}# #{s\ 1489}# #{m\ 1490}# #{esew\ 1491}# #{mod\ 1492}#) (#{build-sequence\ 339}# #{s\ 1489}# (letrec* ((#{dobody\ 1508}# (lambda (#{body\ 1509}# #{r\ 1510}# #{w\ 1511}# #{m\ 1512}# #{esew\ 1513}# #{mod\ 1514}# #{out\ 1515}#) (if (null? #{body\ 1509}#) (reverse #{out\ 1515}#) (#{dobody\ 1508}# (cdr #{body\ 1509}#) #{r\ 1510}# #{w\ 1511}# #{m\ 1512}# #{esew\ 1513}# #{mod\ 1514}# (cons (#{chi-top\ 470}# (car #{body\ 1509}#) #{r\ 1510}# #{w\ 1511}# #{m\ 1512}# #{esew\ 1513}# #{mod\ 1514}#) #{out\ 1515}#)))))) (begin (#{dobody\ 1508}# #{body\ 1486}# #{r\ 1487}# #{w\ 1488}# #{m\ 1490}# #{esew\ 1491}# #{mod\ 1492}# '())))))) (#{chi-install-global\ 464}# (lambda (#{name\ 1516}# #{e\ 1517}#) (#{build-global-definition\ 327}# #f #{name\ 1516}# (#{build-application\ 309}# #f (#{build-primref\ 335}# #f 'make-syntax-transformer) (list (#{build-data\ 337}# #f #{name\ 1516}#) (#{build-data\ 337}# #f (quote macro)) #{e\ 1517}#))))) (#{chi-when-list\ 466}# (lambda (#{e\ 1525}# #{when-list\ 1526}# #{w\ 1527}#) (letrec* ((#{f\ 1534}# (lambda (#{when-list\ 1535}# #{situations\ 1536}#) (if (null? #{when-list\ 1535}#) #{situations\ 1536}# (#{f\ 1534}# (cdr #{when-list\ 1535}#) (cons (begin (let ((#{x\ 1538}# (car #{when-list\ 1535}#))) (if (#{free-id=?\ 446}# #{x\ 1538}# '#(syntax-object compile ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1537")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1531" "i1532" "i1533")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1528" "i1529" "i1530")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile))) 'compile (if (#{free-id=?\ 446}# #{x\ 1538}# '#(syntax-object load ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1537")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1531" "i1532" "i1533")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1528" "i1529" "i1530")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile))) 'load (if (#{free-id=?\ 446}# #{x\ 1538}# '#(syntax-object eval ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1537")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1531" "i1532" "i1533")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1528" "i1529" "i1530")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile))) 'eval (if (#{free-id=?\ 446}# #{x\ 1538}# '#(syntax-object expand ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i1537")) #(ribcage () () ()) #(ribcage #(f when-list situations) #((top) (top) (top)) #("i1531" "i1532" "i1533")) #(ribcage () () ()) #(ribcage #(e when-list w) #((top) (top) (top)) #("i1528" "i1529" "i1530")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile))) 'expand (syntax-violation 'eval-when "invalid situation" #{e\ 1525}# (#{wrap\ 456}# #{x\ 1538}# #{w\ 1527}# #f)))))))) #{situations\ 1536}#)))))) (begin (#{f\ 1534}# #{when-list\ 1526}# (quote ())))))) (#{syntax-type\ 468}# (lambda (#{e\ 1548}# #{r\ 1549}# #{w\ 1550}# #{s\ 1551}# #{rib\ 1552}# #{mod\ 1553}# #{for-car?\ 1554}#) (if (symbol? #{e\ 1548}#) (begin (let ((#{n\ 1566}# (#{id-var-name\ 444}# #{e\ 1548}# #{w\ 1550}#))) (begin (let ((#{b\ 1568}# (#{lookup\ 381}# #{n\ 1566}# #{r\ 1549}# #{mod\ 1553}#))) (begin (let ((#{type\ 1570}# (#{binding-type\ 370}# #{b\ 1568}#))) (if (eqv? #{type\ 1570}# (quote lexical)) (values #{type\ 1570}# (#{binding-value\ 372}# #{b\ 1568}#) #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (if (eqv? #{type\ 1570}# (quote global)) (values #{type\ 1570}# #{n\ 1566}# #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (if (eqv? #{type\ 1570}# (quote macro)) (if #{for-car?\ 1554}# (values #{type\ 1570}# (#{binding-value\ 372}# #{b\ 1568}#) #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (#{syntax-type\ 468}# (#{chi-macro\ 478}# (#{binding-value\ 372}# #{b\ 1568}#) #{e\ 1548}# #{r\ 1549}# #{w\ 1550}# #{s\ 1551}# #{rib\ 1552}# #{mod\ 1553}#) #{r\ 1549}# '(()) #{s\ 1551}# #{rib\ 1552}# #{mod\ 1553}# #f)) (values #{type\ 1570}# (#{binding-value\ 372}# #{b\ 1568}#) #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#)))))))))) (if (pair? #{e\ 1548}#) (begin (let ((#{first\ 1579}# (car #{e\ 1548}#))) (call-with-values (lambda () (#{syntax-type\ 468}# #{first\ 1579}# #{r\ 1549}# #{w\ 1550}# #{s\ 1551}# #{rib\ 1552}# #{mod\ 1553}# #t)) (lambda (#{ftype\ 1580}# #{fval\ 1581}# #{fe\ 1582}# #{fw\ 1583}# #{fs\ 1584}# #{fmod\ 1585}#) (if (eqv? #{ftype\ 1580}# (quote lexical)) (values 'lexical-call #{fval\ 1581}# #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (if (eqv? #{ftype\ 1580}# (quote global)) (values 'global-call (#{make-syntax-object\ 349}# #{fval\ 1581}# #{w\ 1550}# #{fmod\ 1585}#) #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (if (eqv? #{ftype\ 1580}# (quote macro)) (#{syntax-type\ 468}# (#{chi-macro\ 478}# #{fval\ 1581}# #{e\ 1548}# #{r\ 1549}# #{w\ 1550}# #{s\ 1551}# #{rib\ 1552}# #{mod\ 1553}#) #{r\ 1549}# '(()) #{s\ 1551}# #{rib\ 1552}# #{mod\ 1553}# #{for-car?\ 1554}#) (if (eqv? #{ftype\ 1580}# (quote module-ref)) (call-with-values (lambda () (#{fval\ 1581}# #{e\ 1548}# #{r\ 1549}# #{w\ 1550}#)) (lambda (#{e\ 1597}# #{r\ 1598}# #{w\ 1599}# #{s\ 1600}# #{mod\ 1601}#) (#{syntax-type\ 468}# #{e\ 1597}# #{r\ 1598}# #{w\ 1599}# #{s\ 1600}# #{rib\ 1552}# #{mod\ 1601}# #{for-car?\ 1554}#))) (if (eqv? #{ftype\ 1580}# (quote core)) (values 'core-form #{fval\ 1581}# #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (if (eqv? #{ftype\ 1580}# 'local-syntax) (values 'local-syntax-form #{fval\ 1581}# #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (if (eqv? #{ftype\ 1580}# (quote begin)) (values 'begin-form #f #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (if (eqv? #{ftype\ 1580}# 'eval-when) (values 'eval-when-form #f #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (if (eqv? #{ftype\ 1580}# 'define) (let ((#{tmp\ 1612}# #{e\ 1548}#)) (let ((#{tmp\ 1613}# ($sc-dispatch #{tmp\ 1612}# '(any any any)))) (if (if #{tmp\ 1613}# (@apply (lambda (#{_\ 1617}# #{name\ 1618}# #{val\ 1619}#) (#{id?\ 387}# #{name\ 1618}#)) #{tmp\ 1613}#) #f) (@apply (lambda (#{_\ 1623}# #{name\ 1624}# #{val\ 1625}#) (values 'define-form #{name\ 1624}# #{val\ 1625}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#)) #{tmp\ 1613}#) (let ((#{tmp\ 1626}# ($sc-dispatch #{tmp\ 1612}# '(any (any . any) any . each-any)))) (if (if #{tmp\ 1626}# (@apply (lambda (#{_\ 1632}# #{name\ 1633}# #{args\ 1634}# #{e1\ 1635}# #{e2\ 1636}#) (if (#{id?\ 387}# #{name\ 1633}#) (#{valid-bound-ids?\ 450}# (#{lambda-var-list\ 502}# #{args\ 1634}#)) #f)) #{tmp\ 1626}#) #f) (@apply (lambda (#{_\ 1644}# #{name\ 1645}# #{args\ 1646}# #{e1\ 1647}# #{e2\ 1648}#) (values 'define-form (#{wrap\ 456}# #{name\ 1645}# #{w\ 1550}# #{mod\ 1553}#) (#{decorate-source\ 305}# (cons '#(syntax-object lambda ((top) #(ribcage #(_ name args e1 e2) #((top) (top) (top) (top) (top)) #("i1639" "i1640" "i1641" "i1642" "i1643")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1586" "i1587" "i1588" "i1589" "i1590" "i1591")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1578")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1555" "i1556" "i1557" "i1558" "i1559" "i1560" "i1561")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile)) (#{wrap\ 456}# (cons #{args\ 1646}# (cons #{e1\ 1647}# #{e2\ 1648}#)) #{w\ 1550}# #{mod\ 1553}#)) #{s\ 1551}#) '(()) #{s\ 1551}# #{mod\ 1553}#)) #{tmp\ 1626}#) (let ((#{tmp\ 1651}# ($sc-dispatch #{tmp\ 1612}# '(any any)))) (if (if #{tmp\ 1651}# (@apply (lambda (#{_\ 1654}# #{name\ 1655}#) (#{id?\ 387}# #{name\ 1655}#)) #{tmp\ 1651}#) #f) (@apply (lambda (#{_\ 1658}# #{name\ 1659}#) (values 'define-form (#{wrap\ 456}# #{name\ 1659}# #{w\ 1550}# #{mod\ 1553}#) '(#(syntax-object if ((top) #(ribcage #(_ name) #((top) (top)) #("i1656" "i1657")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1586" "i1587" "i1588" "i1589" "i1590" "i1591")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1578")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1555" "i1556" "i1557" "i1558" "i1559" "i1560" "i1561")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile)) #(syntax-object #f ((top) #(ribcage #(_ name) #((top) (top)) #("i1656" "i1657")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1586" "i1587" "i1588" "i1589" "i1590" "i1591")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1578")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1555" "i1556" "i1557" "i1558" "i1559" "i1560" "i1561")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile)) #(syntax-object #f ((top) #(ribcage #(_ name) #((top) (top)) #("i1656" "i1657")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(ftype fval fe fw fs fmod) #((top) (top) (top) (top) (top) (top)) #("i1586" "i1587" "i1588" "i1589" "i1590" "i1591")) #(ribcage () () ()) #(ribcage #(first) #((top)) #("i1578")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(e r w s rib mod for-car?) #((top) (top) (top) (top) (top) (top) (top)) #("i1555" "i1556" "i1557" "i1558" "i1559" "i1560" "i1561")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile))) '(()) #{s\ 1551}# #{mod\ 1553}#)) #{tmp\ 1651}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1612}#)))))))) (if (eqv? #{ftype\ 1580}# 'define-syntax) (let ((#{tmp\ 1662}# #{e\ 1548}#)) (let ((#{tmp\ 1663}# ($sc-dispatch #{tmp\ 1662}# '(any any any)))) (if (if #{tmp\ 1663}# (@apply (lambda (#{_\ 1667}# #{name\ 1668}# #{val\ 1669}#) (#{id?\ 387}# #{name\ 1668}#)) #{tmp\ 1663}#) #f) (@apply (lambda (#{_\ 1673}# #{name\ 1674}# #{val\ 1675}#) (values 'define-syntax-form #{name\ 1674}# #{val\ 1675}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#)) #{tmp\ 1663}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1662}#)))) (values 'call #f #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#))))))))))))))) (if (#{syntax-object?\ 351}# #{e\ 1548}#) (#{syntax-type\ 468}# (#{syntax-object-expression\ 353}# #{e\ 1548}#) #{r\ 1549}# (#{join-wraps\ 438}# #{w\ 1550}# (#{syntax-object-wrap\ 355}# #{e\ 1548}#)) (begin (let ((#{t\ 1681}# (#{source-annotation\ 366}# #{e\ 1548}#))) (if #{t\ 1681}# #{t\ 1681}# #{s\ 1551}#))) #{rib\ 1552}# (begin (let ((#{t\ 1685}# (#{syntax-object-module\ 357}# #{e\ 1548}#))) (if #{t\ 1685}# #{t\ 1685}# #{mod\ 1553}#))) #{for-car?\ 1554}#) (if (self-evaluating? #{e\ 1548}#) (values 'constant #f #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#) (values 'other #f #{e\ 1548}# #{w\ 1550}# #{s\ 1551}# #{mod\ 1553}#))))))) (#{chi-top\ 470}# (lambda (#{e\ 1690}# #{r\ 1691}# #{w\ 1692}# #{m\ 1693}# #{esew\ 1694}# #{mod\ 1695}#) (call-with-values (lambda () (#{syntax-type\ 468}# #{e\ 1690}# #{r\ 1691}# #{w\ 1692}# (#{source-annotation\ 366}# #{e\ 1690}#) #f #{mod\ 1695}# #f)) (lambda (#{type\ 1716}# #{value\ 1717}# #{e\ 1718}# #{w\ 1719}# #{s\ 1720}# #{mod\ 1721}#) (if (eqv? #{type\ 1716}# (quote begin-form)) (let ((#{tmp\ 1729}# #{e\ 1718}#)) (let ((#{tmp\ 1730}# ($sc-dispatch #{tmp\ 1729}# (quote (any))))) (if #{tmp\ 1730}# (@apply (lambda (#{_\ 1732}#) (#{chi-void\ 486}#)) #{tmp\ 1730}#) (let ((#{tmp\ 1733}# ($sc-dispatch #{tmp\ 1729}# '(any any . each-any)))) (if #{tmp\ 1733}# (@apply (lambda (#{_\ 1737}# #{e1\ 1738}# #{e2\ 1739}#) (#{chi-top-sequence\ 462}# (cons #{e1\ 1738}# #{e2\ 1739}#) #{r\ 1691}# #{w\ 1719}# #{s\ 1720}# #{m\ 1693}# #{esew\ 1694}# #{mod\ 1721}#)) #{tmp\ 1733}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1729}#)))))) (if (eqv? #{type\ 1716}# (quote local-syntax-form)) (#{chi-local-syntax\ 482}# #{value\ 1717}# #{e\ 1718}# #{r\ 1691}# #{w\ 1719}# #{s\ 1720}# #{mod\ 1721}# (lambda (#{body\ 1742}# #{r\ 1743}# #{w\ 1744}# #{s\ 1745}# #{mod\ 1746}#) (#{chi-top-sequence\ 462}# #{body\ 1742}# #{r\ 1743}# #{w\ 1744}# #{s\ 1745}# #{m\ 1693}# #{esew\ 1694}# #{mod\ 1746}#))) (if (eqv? #{type\ 1716}# (quote eval-when-form)) (let ((#{tmp\ 1753}# #{e\ 1718}#)) (let ((#{tmp\ 1754}# ($sc-dispatch #{tmp\ 1753}# '(any each-any any . each-any)))) (if #{tmp\ 1754}# (@apply (lambda (#{_\ 1759}# #{x\ 1760}# #{e1\ 1761}# #{e2\ 1762}#) (begin (let ((#{when-list\ 1765}# (#{chi-when-list\ 466}# #{e\ 1718}# #{x\ 1760}# #{w\ 1719}#)) (#{body\ 1766}# (cons #{e1\ 1761}# #{e2\ 1762}#))) (if (eq? #{m\ 1693}# (quote e)) (if (memq 'eval #{when-list\ 1765}#) (#{chi-top-sequence\ 462}# #{body\ 1766}# #{r\ 1691}# #{w\ 1719}# #{s\ 1720}# (if (memq 'expand #{when-list\ 1765}#) 'c&e 'e) '(eval) #{mod\ 1721}#) (begin (if (memq 'expand #{when-list\ 1765}#) (#{top-level-eval-hook\ 296}# (#{chi-top-sequence\ 462}# #{body\ 1766}# #{r\ 1691}# #{w\ 1719}# #{s\ 1720}# 'e '(eval) #{mod\ 1721}#) #{mod\ 1721}#)) (#{chi-void\ 486}#))) (if (memq 'load #{when-list\ 1765}#) (if (begin (let ((#{t\ 1775}# (memq 'compile #{when-list\ 1765}#))) (if #{t\ 1775}# #{t\ 1775}# (begin (let ((#{t\ 1778}# (memq 'expand #{when-list\ 1765}#))) (if #{t\ 1778}# #{t\ 1778}# (if (eq? #{m\ 1693}# 'c&e) (memq 'eval #{when-list\ 1765}#) #f))))))) (#{chi-top-sequence\ 462}# #{body\ 1766}# #{r\ 1691}# #{w\ 1719}# #{s\ 1720}# 'c&e '(compile load) #{mod\ 1721}#) (if (if (eq? #{m\ 1693}# (quote c)) #t (eq? #{m\ 1693}# (quote c&e))) (#{chi-top-sequence\ 462}# #{body\ 1766}# #{r\ 1691}# #{w\ 1719}# #{s\ 1720}# 'c '(load) #{mod\ 1721}#) (#{chi-void\ 486}#))) (if (begin (let ((#{t\ 1786}# (memq 'compile #{when-list\ 1765}#))) (if #{t\ 1786}# #{t\ 1786}# (begin (let ((#{t\ 1789}# (memq 'expand #{when-list\ 1765}#))) (if #{t\ 1789}# #{t\ 1789}# (if (eq? #{m\ 1693}# 'c&e) (memq 'eval #{when-list\ 1765}#) #f))))))) (begin (#{top-level-eval-hook\ 296}# (#{chi-top-sequence\ 462}# #{body\ 1766}# #{r\ 1691}# #{w\ 1719}# #{s\ 1720}# 'e '(eval) #{mod\ 1721}#) #{mod\ 1721}#) (#{chi-void\ 486}#)) (#{chi-void\ 486}#))))))) #{tmp\ 1754}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1753}#)))) (if (eqv? #{type\ 1716}# (quote define-syntax-form)) (begin (let ((#{n\ 1797}# (#{id-var-name\ 444}# #{value\ 1717}# #{w\ 1719}#)) (#{r\ 1798}# (#{macros-only-env\ 379}# #{r\ 1691}#))) (if (eqv? #{m\ 1693}# (quote c)) (if (memq (quote compile) #{esew\ 1694}#) (begin (let ((#{e\ 1801}# (#{chi-install-global\ 464}# #{n\ 1797}# (#{chi\ 472}# #{e\ 1718}# #{r\ 1798}# #{w\ 1719}# #{mod\ 1721}#)))) (begin (#{top-level-eval-hook\ 296}# #{e\ 1801}# #{mod\ 1721}#) (if (memq (quote load) #{esew\ 1694}#) #{e\ 1801}# (#{chi-void\ 486}#))))) (if (memq (quote load) #{esew\ 1694}#) (#{chi-install-global\ 464}# #{n\ 1797}# (#{chi\ 472}# #{e\ 1718}# #{r\ 1798}# #{w\ 1719}# #{mod\ 1721}#)) (#{chi-void\ 486}#))) (if (eqv? #{m\ 1693}# (quote c&e)) (begin (let ((#{e\ 1804}# (#{chi-install-global\ 464}# #{n\ 1797}# (#{chi\ 472}# #{e\ 1718}# #{r\ 1798}# #{w\ 1719}# #{mod\ 1721}#)))) (begin (#{top-level-eval-hook\ 296}# #{e\ 1804}# #{mod\ 1721}#) #{e\ 1804}#))) (begin (if (memq (quote eval) #{esew\ 1694}#) (#{top-level-eval-hook\ 296}# (#{chi-install-global\ 464}# #{n\ 1797}# (#{chi\ 472}# #{e\ 1718}# #{r\ 1798}# #{w\ 1719}# #{mod\ 1721}#)) #{mod\ 1721}#)) (#{chi-void\ 486}#)))))) (if (eqv? #{type\ 1716}# (quote define-form)) (begin (let ((#{n\ 1809}# (#{id-var-name\ 444}# #{value\ 1717}# #{w\ 1719}#))) (begin (let ((#{type\ 1811}# (#{binding-type\ 370}# (#{lookup\ 381}# #{n\ 1809}# #{r\ 1691}# #{mod\ 1721}#)))) (if (if (eqv? #{type\ 1811}# (quote global)) #t (if (eqv? #{type\ 1811}# (quote core)) #t (if (eqv? #{type\ 1811}# 'macro) #t (eqv? #{type\ 1811}# 'module-ref)))) (begin (if (if (if (eq? #{m\ 1693}# (quote c)) #t (eq? #{m\ 1693}# (quote c&e))) (if (not (module-local-variable (current-module) #{n\ 1809}#)) (current-module) #f) #f) (begin (let ((#{old\ 1817}# (module-variable (current-module) #{n\ 1809}#))) (module-define! (current-module) #{n\ 1809}# (if (variable? #{old\ 1817}#) (variable-ref #{old\ 1817}#) #f))))) (begin (let ((#{x\ 1820}# (#{build-global-definition\ 327}# #{s\ 1720}# #{n\ 1809}# (#{chi\ 472}# #{e\ 1718}# #{r\ 1691}# #{w\ 1719}# #{mod\ 1721}#)))) (begin (if (eq? #{m\ 1693}# (quote c&e)) (#{top-level-eval-hook\ 296}# #{x\ 1820}# #{mod\ 1721}#)) #{x\ 1820}#)))) (if (eqv? #{type\ 1811}# 'displaced-lexical) (syntax-violation #f "identifier out of context" #{e\ 1718}# (#{wrap\ 456}# #{value\ 1717}# #{w\ 1719}# #{mod\ 1721}#)) (syntax-violation #f "cannot define keyword at top level" #{e\ 1718}# (#{wrap\ 456}# #{value\ 1717}# #{w\ 1719}# #{mod\ 1721}#)))))))) (begin (let ((#{x\ 1826}# (#{chi-expr\ 474}# #{type\ 1716}# #{value\ 1717}# #{e\ 1718}# #{r\ 1691}# #{w\ 1719}# #{s\ 1720}# #{mod\ 1721}#))) (begin (if (eq? #{m\ 1693}# (quote c&e)) (#{top-level-eval-hook\ 296}# #{x\ 1826}# #{mod\ 1721}#)) #{x\ 1826}#)))))))))))) (#{chi\ 472}# (lambda (#{e\ 1827}# #{r\ 1828}# #{w\ 1829}# #{mod\ 1830}#) (call-with-values (lambda () (#{syntax-type\ 468}# #{e\ 1827}# #{r\ 1828}# #{w\ 1829}# (#{source-annotation\ 366}# #{e\ 1827}#) #f #{mod\ 1830}# #f)) (lambda (#{type\ 1835}# #{value\ 1836}# #{e\ 1837}# #{w\ 1838}# #{s\ 1839}# #{mod\ 1840}#) (#{chi-expr\ 474}# #{type\ 1835}# #{value\ 1836}# #{e\ 1837}# #{r\ 1828}# #{w\ 1838}# #{s\ 1839}# #{mod\ 1840}#))))) (#{chi-expr\ 474}# (lambda (#{type\ 1847}# #{value\ 1848}# #{e\ 1849}# #{r\ 1850}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#) (if (eqv? #{type\ 1847}# (quote lexical)) (#{build-lexical-reference\ 315}# 'value #{s\ 1852}# #{e\ 1849}# #{value\ 1848}#) (if (if (eqv? #{type\ 1847}# (quote core)) #t (eqv? #{type\ 1847}# (quote core-form))) (#{value\ 1848}# #{e\ 1849}# #{r\ 1850}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#) (if (eqv? #{type\ 1847}# (quote module-ref)) (call-with-values (lambda () (#{value\ 1848}# #{e\ 1849}# #{r\ 1850}# #{w\ 1851}#)) (lambda (#{e\ 1864}# #{r\ 1865}# #{w\ 1866}# #{s\ 1867}# #{mod\ 1868}#) (#{chi\ 472}# #{e\ 1864}# #{r\ 1865}# #{w\ 1866}# #{mod\ 1868}#))) (if (eqv? #{type\ 1847}# (quote lexical-call)) (#{chi-application\ 476}# (begin (let ((#{id\ 1876}# (car #{e\ 1849}#))) (#{build-lexical-reference\ 315}# 'fun (#{source-annotation\ 366}# #{id\ 1876}#) (if (#{syntax-object?\ 351}# #{id\ 1876}#) (syntax->datum #{id\ 1876}#) #{id\ 1876}#) #{value\ 1848}#))) #{e\ 1849}# #{r\ 1850}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#) (if (eqv? #{type\ 1847}# (quote global-call)) (#{chi-application\ 476}# (#{build-global-reference\ 321}# (#{source-annotation\ 366}# (car #{e\ 1849}#)) (if (#{syntax-object?\ 351}# #{value\ 1848}#) (#{syntax-object-expression\ 353}# #{value\ 1848}#) #{value\ 1848}#) (if (#{syntax-object?\ 351}# #{value\ 1848}#) (#{syntax-object-module\ 357}# #{value\ 1848}#) #{mod\ 1853}#)) #{e\ 1849}# #{r\ 1850}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#) (if (eqv? #{type\ 1847}# (quote constant)) (#{build-data\ 337}# #{s\ 1852}# (#{strip\ 498}# (#{source-wrap\ 458}# #{e\ 1849}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#) '(()))) (if (eqv? #{type\ 1847}# (quote global)) (#{build-global-reference\ 321}# #{s\ 1852}# #{value\ 1848}# #{mod\ 1853}#) (if (eqv? #{type\ 1847}# (quote call)) (#{chi-application\ 476}# (#{chi\ 472}# (car #{e\ 1849}#) #{r\ 1850}# #{w\ 1851}# #{mod\ 1853}#) #{e\ 1849}# #{r\ 1850}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#) (if (eqv? #{type\ 1847}# (quote begin-form)) (let ((#{tmp\ 1883}# #{e\ 1849}#)) (let ((#{tmp\ 1884}# ($sc-dispatch #{tmp\ 1883}# '(any any . each-any)))) (if #{tmp\ 1884}# (@apply (lambda (#{_\ 1888}# #{e1\ 1889}# #{e2\ 1890}#) (#{chi-sequence\ 460}# (cons #{e1\ 1889}# #{e2\ 1890}#) #{r\ 1850}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#)) #{tmp\ 1884}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1883}#)))) (if (eqv? #{type\ 1847}# 'local-syntax-form) (#{chi-local-syntax\ 482}# #{value\ 1848}# #{e\ 1849}# #{r\ 1850}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}# #{chi-sequence\ 460}#) (if (eqv? #{type\ 1847}# 'eval-when-form) (let ((#{tmp\ 1894}# #{e\ 1849}#)) (let ((#{tmp\ 1895}# ($sc-dispatch #{tmp\ 1894}# '(any each-any any . each-any)))) (if #{tmp\ 1895}# (@apply (lambda (#{_\ 1900}# #{x\ 1901}# #{e1\ 1902}# #{e2\ 1903}#) (begin (let ((#{when-list\ 1905}# (#{chi-when-list\ 466}# #{e\ 1849}# #{x\ 1901}# #{w\ 1851}#))) (if (memq 'eval #{when-list\ 1905}#) (#{chi-sequence\ 460}# (cons #{e1\ 1902}# #{e2\ 1903}#) #{r\ 1850}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#) (#{chi-void\ 486}#))))) #{tmp\ 1895}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1894}#)))) (if (if (eqv? #{type\ 1847}# 'define-form) #t (eqv? #{type\ 1847}# 'define-syntax-form)) (syntax-violation #f "definition in expression context" #{e\ 1849}# (#{wrap\ 456}# #{value\ 1848}# #{w\ 1851}# #{mod\ 1853}#)) (if (eqv? #{type\ 1847}# (quote syntax)) (syntax-violation #f "reference to pattern variable outside syntax form" (#{source-wrap\ 458}# #{e\ 1849}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#)) (if (eqv? #{type\ 1847}# 'displaced-lexical) (syntax-violation #f "reference to identifier outside its scope" (#{source-wrap\ 458}# #{e\ 1849}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#)) (syntax-violation #f "unexpected syntax" (#{source-wrap\ 458}# #{e\ 1849}# #{w\ 1851}# #{s\ 1852}# #{mod\ 1853}#)))))))))))))))))) (#{chi-application\ 476}# (lambda (#{x\ 1912}# #{e\ 1913}# #{r\ 1914}# #{w\ 1915}# #{s\ 1916}# #{mod\ 1917}#) (let ((#{tmp\ 1924}# #{e\ 1913}#)) (let ((#{tmp\ 1925}# ($sc-dispatch #{tmp\ 1924}# '(any . each-any)))) (if #{tmp\ 1925}# (@apply (lambda (#{e0\ 1928}# #{e1\ 1929}#) (#{build-application\ 309}# #{s\ 1916}# #{x\ 1912}# (map (lambda (#{e\ 1930}#) (#{chi\ 472}# #{e\ 1930}# #{r\ 1914}# #{w\ 1915}# #{mod\ 1917}#)) #{e1\ 1929}#))) #{tmp\ 1925}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 1924}#)))))) (#{chi-macro\ 478}# (lambda (#{p\ 1933}# #{e\ 1934}# #{r\ 1935}# #{w\ 1936}# #{s\ 1937}# #{rib\ 1938}# #{mod\ 1939}#) (letrec* ((#{rebuild-macro-output\ 1948}# (lambda (#{x\ 1949}# #{m\ 1950}#) (if (pair? #{x\ 1949}#) (#{decorate-source\ 305}# (cons (#{rebuild-macro-output\ 1948}# (car #{x\ 1949}#) #{m\ 1950}#) (#{rebuild-macro-output\ 1948}# (cdr #{x\ 1949}#) #{m\ 1950}#)) #{s\ 1937}#) (if (#{syntax-object?\ 351}# #{x\ 1949}#) (begin (let ((#{w\ 1958}# (#{syntax-object-wrap\ 355}# #{x\ 1949}#))) (begin (let ((#{ms\ 1961}# (#{wrap-marks\ 394}# #{w\ 1958}#)) (#{s\ 1962}# (#{wrap-subst\ 396}# #{w\ 1958}#))) (if (if (pair? #{ms\ 1961}#) (eq? (car #{ms\ 1961}#) #f) #f) (#{make-syntax-object\ 349}# (#{syntax-object-expression\ 353}# #{x\ 1949}#) (#{make-wrap\ 392}# (cdr #{ms\ 1961}#) (if #{rib\ 1938}# (cons #{rib\ 1938}# (cdr #{s\ 1962}#)) (cdr #{s\ 1962}#))) (#{syntax-object-module\ 357}# #{x\ 1949}#)) (#{make-syntax-object\ 349}# (#{decorate-source\ 305}# (#{syntax-object-expression\ 353}# #{x\ 1949}#) #{s\ 1962}#) (#{make-wrap\ 392}# (cons #{m\ 1950}# #{ms\ 1961}#) (if #{rib\ 1938}# (cons #{rib\ 1938}# (cons (quote shift) #{s\ 1962}#)) (cons (quote shift) #{s\ 1962}#))) (#{syntax-object-module\ 357}# #{x\ 1949}#))))))) (if (vector? #{x\ 1949}#) (begin (let ((#{n\ 1970}# (vector-length #{x\ 1949}#))) (begin (let ((#{v\ 1972}# (#{decorate-source\ 305}# (make-vector #{n\ 1970}#) #{x\ 1949}#))) (letrec* ((#{loop\ 1975}# (lambda (#{i\ 1976}#) (if (#{fx=\ 292}# #{i\ 1976}# #{n\ 1970}#) (begin (if #f #f) #{v\ 1972}#) (begin (vector-set! #{v\ 1972}# #{i\ 1976}# (#{rebuild-macro-output\ 1948}# (vector-ref #{x\ 1949}# #{i\ 1976}#) #{m\ 1950}#)) (#{loop\ 1975}# (#{fx+\ 288}# #{i\ 1976}# 1))))))) (begin (#{loop\ 1975}# 0))))))) (if (symbol? #{x\ 1949}#) (syntax-violation #f "encountered raw symbol in macro output" (#{source-wrap\ 458}# #{e\ 1934}# #{w\ 1936}# (#{wrap-subst\ 396}# #{w\ 1936}#) #{mod\ 1939}#) #{x\ 1949}#) (#{decorate-source\ 305}# #{x\ 1949}# #{s\ 1937}#)))))))) (begin (#{rebuild-macro-output\ 1948}# (#{p\ 1933}# (#{source-wrap\ 458}# #{e\ 1934}# (#{anti-mark\ 428}# #{w\ 1936}#) #{s\ 1937}# #{mod\ 1939}#)) (gensym "m")))))) (#{chi-body\ 480}# (lambda (#{body\ 1983}# #{outer-form\ 1984}# #{r\ 1985}# #{w\ 1986}# #{mod\ 1987}#) (begin (let ((#{r\ 1995}# (cons '("placeholder" placeholder) #{r\ 1985}#))) (begin (let ((#{ribcage\ 1997}# (#{make-ribcage\ 408}# '() '() '()))) (begin (let ((#{w\ 2000}# (#{make-wrap\ 392}# (#{wrap-marks\ 394}# #{w\ 1986}#) (cons #{ribcage\ 1997}# (#{wrap-subst\ 396}# #{w\ 1986}#))))) (letrec* ((#{parse\ 2009}# (lambda (#{body\ 2010}# #{ids\ 2011}# #{labels\ 2012}# #{var-ids\ 2013}# #{vars\ 2014}# #{vals\ 2015}# #{bindings\ 2016}#) (if (null? #{body\ 2010}#) (syntax-violation #f "no expressions in body" #{outer-form\ 1984}#) (begin (let ((#{e\ 2021}# (cdr (car #{body\ 2010}#))) (#{er\ 2022}# (car (car #{body\ 2010}#)))) (call-with-values (lambda () (#{syntax-type\ 468}# #{e\ 2021}# #{er\ 2022}# '(()) (#{source-annotation\ 366}# #{er\ 2022}#) #{ribcage\ 1997}# #{mod\ 1987}# #f)) (lambda (#{type\ 2024}# #{value\ 2025}# #{e\ 2026}# #{w\ 2027}# #{s\ 2028}# #{mod\ 2029}#) (if (eqv? #{type\ 2024}# 'define-form) (begin (let ((#{id\ 2039}# (#{wrap\ 456}# #{value\ 2025}# #{w\ 2027}# #{mod\ 2029}#)) (#{label\ 2040}# (#{gen-label\ 403}#))) (begin (let ((#{var\ 2042}# (#{gen-var\ 500}# #{id\ 2039}#))) (begin (#{extend-ribcage!\ 432}# #{ribcage\ 1997}# #{id\ 2039}# #{label\ 2040}#) (#{parse\ 2009}# (cdr #{body\ 2010}#) (cons #{id\ 2039}# #{ids\ 2011}#) (cons #{label\ 2040}# #{labels\ 2012}#) (cons #{id\ 2039}# #{var-ids\ 2013}#) (cons #{var\ 2042}# #{vars\ 2014}#) (cons (cons #{er\ 2022}# (#{wrap\ 456}# #{e\ 2026}# #{w\ 2027}# #{mod\ 2029}#)) #{vals\ 2015}#) (cons (cons 'lexical #{var\ 2042}#) #{bindings\ 2016}#))))))) (if (eqv? #{type\ 2024}# 'define-syntax-form) (begin (let ((#{id\ 2047}# (#{wrap\ 456}# #{value\ 2025}# #{w\ 2027}# #{mod\ 2029}#)) (#{label\ 2048}# (#{gen-label\ 403}#))) (begin (#{extend-ribcage!\ 432}# #{ribcage\ 1997}# #{id\ 2047}# #{label\ 2048}#) (#{parse\ 2009}# (cdr #{body\ 2010}#) (cons #{id\ 2047}# #{ids\ 2011}#) (cons #{label\ 2048}# #{labels\ 2012}#) #{var-ids\ 2013}# #{vars\ 2014}# #{vals\ 2015}# (cons (cons 'macro (cons #{er\ 2022}# (#{wrap\ 456}# #{e\ 2026}# #{w\ 2027}# #{mod\ 2029}#))) #{bindings\ 2016}#))))) (if (eqv? #{type\ 2024}# 'begin-form) (let ((#{tmp\ 2051}# #{e\ 2026}#)) (let ((#{tmp\ 2052}# ($sc-dispatch #{tmp\ 2051}# '(any . each-any)))) (if #{tmp\ 2052}# (@apply (lambda (#{_\ 2055}# #{e1\ 2056}#) (#{parse\ 2009}# (letrec* ((#{f\ 2059}# (lambda (#{forms\ 2060}#) (if (null? #{forms\ 2060}#) (cdr #{body\ 2010}#) (cons (cons #{er\ 2022}# (#{wrap\ 456}# (car #{forms\ 2060}#) #{w\ 2027}# #{mod\ 2029}#)) (#{f\ 2059}# (cdr #{forms\ 2060}#))))))) (begin (#{f\ 2059}# #{e1\ 2056}#))) #{ids\ 2011}# #{labels\ 2012}# #{var-ids\ 2013}# #{vars\ 2014}# #{vals\ 2015}# #{bindings\ 2016}#)) #{tmp\ 2052}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2051}#)))) (if (eqv? #{type\ 2024}# 'local-syntax-form) (#{chi-local-syntax\ 482}# #{value\ 2025}# #{e\ 2026}# #{er\ 2022}# #{w\ 2027}# #{s\ 2028}# #{mod\ 2029}# (lambda (#{forms\ 2063}# #{er\ 2064}# #{w\ 2065}# #{s\ 2066}# #{mod\ 2067}#) (#{parse\ 2009}# (letrec* ((#{f\ 2075}# (lambda (#{forms\ 2076}#) (if (null? #{forms\ 2076}#) (cdr #{body\ 2010}#) (cons (cons #{er\ 2064}# (#{wrap\ 456}# (car #{forms\ 2076}#) #{w\ 2065}# #{mod\ 2067}#)) (#{f\ 2075}# (cdr #{forms\ 2076}#))))))) (begin (#{f\ 2075}# #{forms\ 2063}#))) #{ids\ 2011}# #{labels\ 2012}# #{var-ids\ 2013}# #{vars\ 2014}# #{vals\ 2015}# #{bindings\ 2016}#))) (if (null? #{ids\ 2011}#) (#{build-sequence\ 339}# #f (map (lambda (#{x\ 2079}#) (#{chi\ 472}# (cdr #{x\ 2079}#) (car #{x\ 2079}#) '(()) #{mod\ 2029}#)) (cons (cons #{er\ 2022}# (#{source-wrap\ 458}# #{e\ 2026}# #{w\ 2027}# #{s\ 2028}# #{mod\ 2029}#)) (cdr #{body\ 2010}#)))) (begin (if (not (#{valid-bound-ids?\ 450}# #{ids\ 2011}#)) (syntax-violation #f "invalid or duplicate identifier in definition" #{outer-form\ 1984}#)) (letrec* ((#{loop\ 2086}# (lambda (#{bs\ 2087}# #{er-cache\ 2088}# #{r-cache\ 2089}#) (if (not (null? #{bs\ 2087}#)) (begin (let ((#{b\ 2092}# (car #{bs\ 2087}#))) (if (eq? (car #{b\ 2092}#) 'macro) (begin (let ((#{er\ 2095}# (car (cdr #{b\ 2092}#)))) (begin (let ((#{r-cache\ 2097}# (if (eq? #{er\ 2095}# #{er-cache\ 2088}#) #{r-cache\ 2089}# (#{macros-only-env\ 379}# #{er\ 2095}#)))) (begin (set-cdr! #{b\ 2092}# (#{eval-local-transformer\ 484}# (#{chi\ 472}# (cdr (cdr #{b\ 2092}#)) #{r-cache\ 2097}# '(()) #{mod\ 2029}#) #{mod\ 2029}#)) (#{loop\ 2086}# (cdr #{bs\ 2087}#) #{er\ 2095}# #{r-cache\ 2097}#)))))) (#{loop\ 2086}# (cdr #{bs\ 2087}#) #{er-cache\ 2088}# #{r-cache\ 2089}#)))))))) (begin (#{loop\ 2086}# #{bindings\ 2016}# #f #f))) (set-cdr! #{r\ 1995}# (#{extend-env\ 375}# #{labels\ 2012}# #{bindings\ 2016}# (cdr #{r\ 1995}#))) (#{build-letrec\ 345}# #f #t (reverse (map syntax->datum #{var-ids\ 2013}#)) (reverse #{vars\ 2014}#) (map (lambda (#{x\ 2100}#) (#{chi\ 472}# (cdr #{x\ 2100}#) (car #{x\ 2100}#) '(()) #{mod\ 2029}#)) (reverse #{vals\ 2015}#)) (#{build-sequence\ 339}# #f (map (lambda (#{x\ 2104}#) (#{chi\ 472}# (cdr #{x\ 2104}#) (car #{x\ 2104}#) '(()) #{mod\ 2029}#)) (cons (cons #{er\ 2022}# (#{source-wrap\ 458}# #{e\ 2026}# #{w\ 2027}# #{s\ 2028}# #{mod\ 2029}#)) (cdr #{body\ 2010}#))))))))))))))))))) (begin (#{parse\ 2009}# (map (lambda (#{x\ 2017}#) (cons #{r\ 1995}# (#{wrap\ 456}# #{x\ 2017}# #{w\ 2000}# #{mod\ 1987}#))) #{body\ 1983}#) '() '() '() '() '() '()))))))))))) (#{chi-local-syntax\ 482}# (lambda (#{rec?\ 2107}# #{e\ 2108}# #{r\ 2109}# #{w\ 2110}# #{s\ 2111}# #{mod\ 2112}# #{k\ 2113}#) (let ((#{tmp\ 2121}# #{e\ 2108}#)) (let ((#{tmp\ 2122}# ($sc-dispatch #{tmp\ 2121}# '(any #(each (any any)) any . each-any)))) (if #{tmp\ 2122}# (@apply (lambda (#{_\ 2128}# #{id\ 2129}# #{val\ 2130}# #{e1\ 2131}# #{e2\ 2132}#) (begin (let ((#{ids\ 2134}# #{id\ 2129}#)) (if (not (#{valid-bound-ids?\ 450}# #{ids\ 2134}#)) (syntax-violation #f "duplicate bound keyword" #{e\ 2108}#) (begin (let ((#{labels\ 2137}# (#{gen-labels\ 405}# #{ids\ 2134}#))) (begin (let ((#{new-w\ 2139}# (#{make-binding-wrap\ 434}# #{ids\ 2134}# #{labels\ 2137}# #{w\ 2110}#))) (#{k\ 2113}# (cons #{e1\ 2131}# #{e2\ 2132}#) (#{extend-env\ 375}# #{labels\ 2137}# (begin (let ((#{w\ 2143}# (if #{rec?\ 2107}# #{new-w\ 2139}# #{w\ 2110}#)) (#{trans-r\ 2144}# (#{macros-only-env\ 379}# #{r\ 2109}#))) (map (lambda (#{x\ 2145}#) (cons 'macro (#{eval-local-transformer\ 484}# (#{chi\ 472}# #{x\ 2145}# #{trans-r\ 2144}# #{w\ 2143}# #{mod\ 2112}#) #{mod\ 2112}#))) #{val\ 2130}#))) #{r\ 2109}#) #{new-w\ 2139}# #{s\ 2111}# #{mod\ 2112}#))))))))) #{tmp\ 2122}#) (let ((#{_\ 2150}# #{tmp\ 2121}#)) (syntax-violation #f "bad local syntax definition" (#{source-wrap\ 458}# #{e\ 2108}# #{w\ 2110}# #{s\ 2111}# #{mod\ 2112}#)))))))) (#{eval-local-transformer\ 484}# (lambda (#{expanded\ 2151}# #{mod\ 2152}#) (begin (let ((#{p\ 2156}# (#{local-eval-hook\ 298}# #{expanded\ 2151}# #{mod\ 2152}#))) (if (procedure? #{p\ 2156}#) #{p\ 2156}# (syntax-violation #f "nonprocedure transformer" #{p\ 2156}#)))))) (#{chi-void\ 486}# (lambda () (#{build-void\ 307}# #f))) (#{ellipsis?\ 488}# (lambda (#{x\ 2158}#) (if (#{nonsymbol-id?\ 385}# #{x\ 2158}#) (#{free-id=?\ 446}# #{x\ 2158}# '#(syntax-object ... ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i2159")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile))) #f))) (#{lambda-formals\ 490}# (lambda (#{orig-args\ 2162}#) (letrec* ((#{req\ 2165}# (lambda (#{args\ 2168}# #{rreq\ 2169}#) (let ((#{tmp\ 2172}# #{args\ 2168}#)) (let ((#{tmp\ 2173}# ($sc-dispatch #{tmp\ 2172}# (quote ())))) (if #{tmp\ 2173}# (@apply (lambda () (#{check\ 2167}# (reverse #{rreq\ 2169}#) #f)) #{tmp\ 2173}#) (let ((#{tmp\ 2174}# ($sc-dispatch #{tmp\ 2172}# '(any . any)))) (if (if #{tmp\ 2174}# (@apply (lambda (#{a\ 2177}# #{b\ 2178}#) (#{id?\ 387}# #{a\ 2177}#)) #{tmp\ 2174}#) #f) (@apply (lambda (#{a\ 2181}# #{b\ 2182}#) (#{req\ 2165}# #{b\ 2182}# (cons #{a\ 2181}# #{rreq\ 2169}#))) #{tmp\ 2174}#) (let ((#{tmp\ 2183}# (list #{tmp\ 2172}#))) (if (if #{tmp\ 2183}# (@apply (lambda (#{r\ 2185}#) (#{id?\ 387}# #{r\ 2185}#)) #{tmp\ 2183}#) #f) (@apply (lambda (#{r\ 2187}#) (#{check\ 2167}# (reverse #{rreq\ 2169}#) #{r\ 2187}#)) #{tmp\ 2183}#) (let ((#{else\ 2189}# #{tmp\ 2172}#)) (syntax-violation 'lambda "invalid argument list" #{orig-args\ 2162}# #{args\ 2168}#))))))))))) (#{check\ 2167}# (lambda (#{req\ 2190}# #{rest\ 2191}#) (if (#{distinct-bound-ids?\ 452}# (if #{rest\ 2191}# (cons #{rest\ 2191}# #{req\ 2190}#) #{req\ 2190}#)) (values #{req\ 2190}# #f #{rest\ 2191}# #f) (syntax-violation 'lambda "duplicate identifier in argument list" #{orig-args\ 2162}#))))) (begin (#{req\ 2165}# #{orig-args\ 2162}# (quote ())))))) (#{chi-simple-lambda\ 492}# (lambda (#{e\ 2197}# #{r\ 2198}# #{w\ 2199}# #{s\ 2200}# #{mod\ 2201}# #{req\ 2202}# #{rest\ 2203}# #{meta\ 2204}# #{body\ 2205}#) (begin (let ((#{ids\ 2217}# (if #{rest\ 2203}# (append #{req\ 2202}# (list #{rest\ 2203}#)) #{req\ 2202}#))) (begin (let ((#{vars\ 2219}# (map #{gen-var\ 500}# #{ids\ 2217}#))) (begin (let ((#{labels\ 2221}# (#{gen-labels\ 405}# #{ids\ 2217}#))) (#{build-simple-lambda\ 329}# #{s\ 2200}# (map syntax->datum #{req\ 2202}#) (if #{rest\ 2203}# (syntax->datum #{rest\ 2203}#) #f) #{vars\ 2219}# #{meta\ 2204}# (#{chi-body\ 480}# #{body\ 2205}# (#{source-wrap\ 458}# #{e\ 2197}# #{w\ 2199}# #{s\ 2200}# #{mod\ 2201}#) (#{extend-var-env\ 377}# #{labels\ 2221}# #{vars\ 2219}# #{r\ 2198}#) (#{make-binding-wrap\ 434}# #{ids\ 2217}# #{labels\ 2221}# #{w\ 2199}#) #{mod\ 2201}#)))))))))) (#{lambda*-formals\ 494}# (lambda (#{orig-args\ 2224}#) (letrec* ((#{req\ 2227}# (lambda (#{args\ 2236}# #{rreq\ 2237}#) (let ((#{tmp\ 2240}# #{args\ 2236}#)) (let ((#{tmp\ 2241}# ($sc-dispatch #{tmp\ 2240}# (quote ())))) (if #{tmp\ 2241}# (@apply (lambda () (#{check\ 2235}# (reverse #{rreq\ 2237}#) '() #f '())) #{tmp\ 2241}#) (let ((#{tmp\ 2242}# ($sc-dispatch #{tmp\ 2240}# '(any . any)))) (if (if #{tmp\ 2242}# (@apply (lambda (#{a\ 2245}# #{b\ 2246}#) (#{id?\ 387}# #{a\ 2245}#)) #{tmp\ 2242}#) #f) (@apply (lambda (#{a\ 2249}# #{b\ 2250}#) (#{req\ 2227}# #{b\ 2250}# (cons #{a\ 2249}# #{rreq\ 2237}#))) #{tmp\ 2242}#) (let ((#{tmp\ 2251}# ($sc-dispatch #{tmp\ 2240}# '(any . any)))) (if (if #{tmp\ 2251}# (@apply (lambda (#{a\ 2254}# #{b\ 2255}#) (eq? (syntax->datum #{a\ 2254}#) #:optional)) #{tmp\ 2251}#) #f) (@apply (lambda (#{a\ 2258}# #{b\ 2259}#) (#{opt\ 2229}# #{b\ 2259}# (reverse #{rreq\ 2237}#) '())) #{tmp\ 2251}#) (let ((#{tmp\ 2260}# ($sc-dispatch #{tmp\ 2240}# '(any . any)))) (if (if #{tmp\ 2260}# (@apply (lambda (#{a\ 2263}# #{b\ 2264}#) (eq? (syntax->datum #{a\ 2263}#) #:key)) #{tmp\ 2260}#) #f) (@apply (lambda (#{a\ 2267}# #{b\ 2268}#) (#{key\ 2231}# #{b\ 2268}# (reverse #{rreq\ 2237}#) '() '())) #{tmp\ 2260}#) (let ((#{tmp\ 2269}# ($sc-dispatch #{tmp\ 2240}# '(any any)))) (if (if #{tmp\ 2269}# (@apply (lambda (#{a\ 2272}# #{b\ 2273}#) (eq? (syntax->datum #{a\ 2272}#) #:rest)) #{tmp\ 2269}#) #f) (@apply (lambda (#{a\ 2276}# #{b\ 2277}#) (#{rest\ 2233}# #{b\ 2277}# (reverse #{rreq\ 2237}#) '() '())) #{tmp\ 2269}#) (let ((#{tmp\ 2278}# (list #{tmp\ 2240}#))) (if (if #{tmp\ 2278}# (@apply (lambda (#{r\ 2280}#) (#{id?\ 387}# #{r\ 2280}#)) #{tmp\ 2278}#) #f) (@apply (lambda (#{r\ 2282}#) (#{rest\ 2233}# #{r\ 2282}# (reverse #{rreq\ 2237}#) '() '())) #{tmp\ 2278}#) (let ((#{else\ 2284}# #{tmp\ 2240}#)) (syntax-violation 'lambda* "invalid argument list" #{orig-args\ 2224}# #{args\ 2236}#))))))))))))))))) (#{opt\ 2229}# (lambda (#{args\ 2285}# #{req\ 2286}# #{ropt\ 2287}#) (let ((#{tmp\ 2291}# #{args\ 2285}#)) (let ((#{tmp\ 2292}# ($sc-dispatch #{tmp\ 2291}# (quote ())))) (if #{tmp\ 2292}# (@apply (lambda () (#{check\ 2235}# #{req\ 2286}# (reverse #{ropt\ 2287}#) #f '())) #{tmp\ 2292}#) (let ((#{tmp\ 2293}# ($sc-dispatch #{tmp\ 2291}# '(any . any)))) (if (if #{tmp\ 2293}# (@apply (lambda (#{a\ 2296}# #{b\ 2297}#) (#{id?\ 387}# #{a\ 2296}#)) #{tmp\ 2293}#) #f) (@apply (lambda (#{a\ 2300}# #{b\ 2301}#) (#{opt\ 2229}# #{b\ 2301}# #{req\ 2286}# (cons (cons #{a\ 2300}# '(#(syntax-object #f ((top) #(ribcage #(a b) #((top) (top)) #("i2298" "i2299")) #(ribcage () () ()) #(ribcage #(args req ropt) #((top) (top) (top)) #("i2288" "i2289" "i2290")) #(ribcage (check rest key opt req) ((top) (top) (top) (top) (top)) ("i2234" "i2232" "i2230" "i2228" "i2226")) #(ribcage #(orig-args) #((top)) #("i2225")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile)))) #{ropt\ 2287}#))) #{tmp\ 2293}#) (let ((#{tmp\ 2302}# ($sc-dispatch #{tmp\ 2291}# '((any any) . any)))) (if (if #{tmp\ 2302}# (@apply (lambda (#{a\ 2306}# #{init\ 2307}# #{b\ 2308}#) (#{id?\ 387}# #{a\ 2306}#)) #{tmp\ 2302}#) #f) (@apply (lambda (#{a\ 2312}# #{init\ 2313}# #{b\ 2314}#) (#{opt\ 2229}# #{b\ 2314}# #{req\ 2286}# (cons (list #{a\ 2312}# #{init\ 2313}#) #{ropt\ 2287}#))) #{tmp\ 2302}#) (let ((#{tmp\ 2315}# ($sc-dispatch #{tmp\ 2291}# '(any . any)))) (if (if #{tmp\ 2315}# (@apply (lambda (#{a\ 2318}# #{b\ 2319}#) (eq? (syntax->datum #{a\ 2318}#) #:key)) #{tmp\ 2315}#) #f) (@apply (lambda (#{a\ 2322}# #{b\ 2323}#) (#{key\ 2231}# #{b\ 2323}# #{req\ 2286}# (reverse #{ropt\ 2287}#) '())) #{tmp\ 2315}#) (let ((#{tmp\ 2324}# ($sc-dispatch #{tmp\ 2291}# '(any any)))) (if (if #{tmp\ 2324}# (@apply (lambda (#{a\ 2327}# #{b\ 2328}#) (eq? (syntax->datum #{a\ 2327}#) #:rest)) #{tmp\ 2324}#) #f) (@apply (lambda (#{a\ 2331}# #{b\ 2332}#) (#{rest\ 2233}# #{b\ 2332}# #{req\ 2286}# (reverse #{ropt\ 2287}#) '())) #{tmp\ 2324}#) (let ((#{tmp\ 2333}# (list #{tmp\ 2291}#))) (if (if #{tmp\ 2333}# (@apply (lambda (#{r\ 2335}#) (#{id?\ 387}# #{r\ 2335}#)) #{tmp\ 2333}#) #f) (@apply (lambda (#{r\ 2337}#) (#{rest\ 2233}# #{r\ 2337}# #{req\ 2286}# (reverse #{ropt\ 2287}#) '())) #{tmp\ 2333}#) (let ((#{else\ 2339}# #{tmp\ 2291}#)) (syntax-violation 'lambda* "invalid optional argument list" #{orig-args\ 2224}# #{args\ 2285}#))))))))))))))))) (#{key\ 2231}# (lambda (#{args\ 2340}# #{req\ 2341}# #{opt\ 2342}# #{rkey\ 2343}#) (let ((#{tmp\ 2348}# #{args\ 2340}#)) (let ((#{tmp\ 2349}# ($sc-dispatch #{tmp\ 2348}# (quote ())))) (if #{tmp\ 2349}# (@apply (lambda () (#{check\ 2235}# #{req\ 2341}# #{opt\ 2342}# #f (cons #f (reverse #{rkey\ 2343}#)))) #{tmp\ 2349}#) (let ((#{tmp\ 2350}# ($sc-dispatch #{tmp\ 2348}# '(any . any)))) (if (if #{tmp\ 2350}# (@apply (lambda (#{a\ 2353}# #{b\ 2354}#) (#{id?\ 387}# #{a\ 2353}#)) #{tmp\ 2350}#) #f) (@apply (lambda (#{a\ 2357}# #{b\ 2358}#) (let ((#{tmp\ 2360}# (symbol->keyword (syntax->datum #{a\ 2357}#)))) (let ((#{k\ 2362}# #{tmp\ 2360}#)) (#{key\ 2231}# #{b\ 2358}# #{req\ 2341}# #{opt\ 2342}# (cons (cons #{k\ 2362}# (cons #{a\ 2357}# '(#(syntax-object #f ((top) #(ribcage #(k) #((top)) #("i2361")) #(ribcage #(a b) #((top) (top)) #("i2355" "i2356")) #(ribcage () () ()) #(ribcage #(args req opt rkey) #((top) (top) (top) (top)) #("i2344" "i2345" "i2346" "i2347")) #(ribcage (check rest key opt req) ((top) (top) (top) (top) (top)) ("i2234" "i2232" "i2230" "i2228" "i2226")) #(ribcage #(orig-args) #((top)) #("i2225")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile))))) #{rkey\ 2343}#))))) #{tmp\ 2350}#) (let ((#{tmp\ 2363}# ($sc-dispatch #{tmp\ 2348}# '((any any) . any)))) (if (if #{tmp\ 2363}# (@apply (lambda (#{a\ 2367}# #{init\ 2368}# #{b\ 2369}#) (#{id?\ 387}# #{a\ 2367}#)) #{tmp\ 2363}#) #f) (@apply (lambda (#{a\ 2373}# #{init\ 2374}# #{b\ 2375}#) (let ((#{tmp\ 2377}# (symbol->keyword (syntax->datum #{a\ 2373}#)))) (let ((#{k\ 2379}# #{tmp\ 2377}#)) (#{key\ 2231}# #{b\ 2375}# #{req\ 2341}# #{opt\ 2342}# (cons (list #{k\ 2379}# #{a\ 2373}# #{init\ 2374}#) #{rkey\ 2343}#))))) #{tmp\ 2363}#) (let ((#{tmp\ 2380}# ($sc-dispatch #{tmp\ 2348}# '((any any any) . any)))) (if (if #{tmp\ 2380}# (@apply (lambda (#{a\ 2385}# #{init\ 2386}# #{k\ 2387}# #{b\ 2388}#) (if (#{id?\ 387}# #{a\ 2385}#) (keyword? (syntax->datum #{k\ 2387}#)) #f)) #{tmp\ 2380}#) #f) (@apply (lambda (#{a\ 2395}# #{init\ 2396}# #{k\ 2397}# #{b\ 2398}#) (#{key\ 2231}# #{b\ 2398}# #{req\ 2341}# #{opt\ 2342}# (cons (list #{k\ 2397}# #{a\ 2395}# #{init\ 2396}#) #{rkey\ 2343}#))) #{tmp\ 2380}#) (let ((#{tmp\ 2399}# ($sc-dispatch #{tmp\ 2348}# '(any)))) (if (if #{tmp\ 2399}# (@apply (lambda (#{aok\ 2401}#) (eq? (syntax->datum #{aok\ 2401}#) #:allow-other-keys)) #{tmp\ 2399}#) #f) (@apply (lambda (#{aok\ 2403}#) (#{check\ 2235}# #{req\ 2341}# #{opt\ 2342}# #f (cons #t (reverse #{rkey\ 2343}#)))) #{tmp\ 2399}#) (let ((#{tmp\ 2404}# ($sc-dispatch #{tmp\ 2348}# '(any any any)))) (if (if #{tmp\ 2404}# (@apply (lambda (#{aok\ 2408}# #{a\ 2409}# #{b\ 2410}#) (if (eq? (syntax->datum #{aok\ 2408}#) #:allow-other-keys) (eq? (syntax->datum #{a\ 2409}#) #:rest) #f)) #{tmp\ 2404}#) #f) (@apply (lambda (#{aok\ 2416}# #{a\ 2417}# #{b\ 2418}#) (#{rest\ 2233}# #{b\ 2418}# #{req\ 2341}# #{opt\ 2342}# (cons #t (reverse #{rkey\ 2343}#)))) #{tmp\ 2404}#) (let ((#{tmp\ 2419}# ($sc-dispatch #{tmp\ 2348}# '(any . any)))) (if (if #{tmp\ 2419}# (@apply (lambda (#{aok\ 2422}# #{r\ 2423}#) (if (eq? (syntax->datum #{aok\ 2422}#) #:allow-other-keys) (#{id?\ 387}# #{r\ 2423}#) #f)) #{tmp\ 2419}#) #f) (@apply (lambda (#{aok\ 2428}# #{r\ 2429}#) (#{rest\ 2233}# #{r\ 2429}# #{req\ 2341}# #{opt\ 2342}# (cons #t (reverse #{rkey\ 2343}#)))) #{tmp\ 2419}#) (let ((#{tmp\ 2430}# ($sc-dispatch #{tmp\ 2348}# '(any any)))) (if (if #{tmp\ 2430}# (@apply (lambda (#{a\ 2433}# #{b\ 2434}#) (eq? (syntax->datum #{a\ 2433}#) #:rest)) #{tmp\ 2430}#) #f) (@apply (lambda (#{a\ 2437}# #{b\ 2438}#) (#{rest\ 2233}# #{b\ 2438}# #{req\ 2341}# #{opt\ 2342}# (cons #f (reverse #{rkey\ 2343}#)))) #{tmp\ 2430}#) (let ((#{tmp\ 2439}# (list #{tmp\ 2348}#))) (if (if #{tmp\ 2439}# (@apply (lambda (#{r\ 2441}#) (#{id?\ 387}# #{r\ 2441}#)) #{tmp\ 2439}#) #f) (@apply (lambda (#{r\ 2443}#) (#{rest\ 2233}# #{r\ 2443}# #{req\ 2341}# #{opt\ 2342}# (cons #f (reverse #{rkey\ 2343}#)))) #{tmp\ 2439}#) (let ((#{else\ 2445}# #{tmp\ 2348}#)) (syntax-violation 'lambda* "invalid keyword argument list" #{orig-args\ 2224}# #{args\ 2340}#))))))))))))))))))))))) (#{rest\ 2233}# (lambda (#{args\ 2446}# #{req\ 2447}# #{opt\ 2448}# #{kw\ 2449}#) (let ((#{tmp\ 2454}# #{args\ 2446}#)) (let ((#{tmp\ 2455}# (list #{tmp\ 2454}#))) (if (if #{tmp\ 2455}# (@apply (lambda (#{r\ 2457}#) (#{id?\ 387}# #{r\ 2457}#)) #{tmp\ 2455}#) #f) (@apply (lambda (#{r\ 2459}#) (#{check\ 2235}# #{req\ 2447}# #{opt\ 2448}# #{r\ 2459}# #{kw\ 2449}#)) #{tmp\ 2455}#) (let ((#{else\ 2461}# #{tmp\ 2454}#)) (syntax-violation 'lambda* "invalid rest argument" #{orig-args\ 2224}# #{args\ 2446}#))))))) (#{check\ 2235}# (lambda (#{req\ 2462}# #{opt\ 2463}# #{rest\ 2464}# #{kw\ 2465}#) (if (#{distinct-bound-ids?\ 452}# (append #{req\ 2462}# (map car #{opt\ 2463}#) (if #{rest\ 2464}# (list #{rest\ 2464}#) '()) (if (pair? #{kw\ 2465}#) (map cadr (cdr #{kw\ 2465}#)) '()))) (values #{req\ 2462}# #{opt\ 2463}# #{rest\ 2464}# #{kw\ 2465}#) (syntax-violation 'lambda* "duplicate identifier in argument list" #{orig-args\ 2224}#))))) (begin (#{req\ 2227}# #{orig-args\ 2224}# (quote ())))))) (#{chi-lambda-case\ 496}# (lambda (#{e\ 2473}# #{r\ 2474}# #{w\ 2475}# #{s\ 2476}# #{mod\ 2477}# #{get-formals\ 2478}# #{clauses\ 2479}#) (letrec* ((#{expand-req\ 2488}# (lambda (#{req\ 2495}# #{opt\ 2496}# #{rest\ 2497}# #{kw\ 2498}# #{body\ 2499}#) (begin (let ((#{vars\ 2507}# (map #{gen-var\ 500}# #{req\ 2495}#)) (#{labels\ 2508}# (#{gen-labels\ 405}# #{req\ 2495}#))) (begin (let ((#{r*\ 2511}# (#{extend-var-env\ 377}# #{labels\ 2508}# #{vars\ 2507}# #{r\ 2474}#)) (#{w*\ 2512}# (#{make-binding-wrap\ 434}# #{req\ 2495}# #{labels\ 2508}# #{w\ 2475}#))) (#{expand-opt\ 2490}# (map syntax->datum #{req\ 2495}#) #{opt\ 2496}# #{rest\ 2497}# #{kw\ 2498}# #{body\ 2499}# (reverse #{vars\ 2507}#) #{r*\ 2511}# #{w*\ 2512}# '() '()))))))) (#{expand-opt\ 2490}# (lambda (#{req\ 2513}# #{opt\ 2514}# #{rest\ 2515}# #{kw\ 2516}# #{body\ 2517}# #{vars\ 2518}# #{r*\ 2519}# #{w*\ 2520}# #{out\ 2521}# #{inits\ 2522}#) (if (pair? #{opt\ 2514}#) (let ((#{tmp\ 2535}# (car #{opt\ 2514}#))) (let ((#{tmp\ 2536}# ($sc-dispatch #{tmp\ 2535}# '(any any)))) (if #{tmp\ 2536}# (@apply (lambda (#{id\ 2539}# #{i\ 2540}#) (begin (let ((#{v\ 2543}# (#{gen-var\ 500}# #{id\ 2539}#))) (begin (let ((#{l\ 2545}# (#{gen-labels\ 405}# (list #{v\ 2543}#)))) (begin (let ((#{r**\ 2547}# (#{extend-var-env\ 377}# #{l\ 2545}# (list #{v\ 2543}#) #{r*\ 2519}#))) (begin (let ((#{w**\ 2549}# (#{make-binding-wrap\ 434}# (list #{id\ 2539}#) #{l\ 2545}# #{w*\ 2520}#))) (#{expand-opt\ 2490}# #{req\ 2513}# (cdr #{opt\ 2514}#) #{rest\ 2515}# #{kw\ 2516}# #{body\ 2517}# (cons #{v\ 2543}# #{vars\ 2518}#) #{r**\ 2547}# #{w**\ 2549}# (cons (syntax->datum #{id\ 2539}#) #{out\ 2521}#) (cons (#{chi\ 472}# #{i\ 2540}# #{r*\ 2519}# #{w*\ 2520}# #{mod\ 2477}#) #{inits\ 2522}#))))))))))) #{tmp\ 2536}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2535}#)))) (if #{rest\ 2515}# (begin (let ((#{v\ 2554}# (#{gen-var\ 500}# #{rest\ 2515}#))) (begin (let ((#{l\ 2556}# (#{gen-labels\ 405}# (list #{v\ 2554}#)))) (begin (let ((#{r*\ 2558}# (#{extend-var-env\ 377}# #{l\ 2556}# (list #{v\ 2554}#) #{r*\ 2519}#))) (begin (let ((#{w*\ 2560}# (#{make-binding-wrap\ 434}# (list #{rest\ 2515}#) #{l\ 2556}# #{w*\ 2520}#))) (#{expand-kw\ 2492}# #{req\ 2513}# (if (pair? #{out\ 2521}#) (reverse #{out\ 2521}#) #f) (syntax->datum #{rest\ 2515}#) (if (pair? #{kw\ 2516}#) (cdr #{kw\ 2516}#) #{kw\ 2516}#) #{body\ 2517}# (cons #{v\ 2554}# #{vars\ 2518}#) #{r*\ 2558}# #{w*\ 2560}# (if (pair? #{kw\ 2516}#) (car #{kw\ 2516}#) #f) '() #{inits\ 2522}#))))))))) (#{expand-kw\ 2492}# #{req\ 2513}# (if (pair? #{out\ 2521}#) (reverse #{out\ 2521}#) #f) #f (if (pair? #{kw\ 2516}#) (cdr #{kw\ 2516}#) #{kw\ 2516}#) #{body\ 2517}# #{vars\ 2518}# #{r*\ 2519}# #{w*\ 2520}# (if (pair? #{kw\ 2516}#) (car #{kw\ 2516}#) #f) '() #{inits\ 2522}#))))) (#{expand-kw\ 2492}# (lambda (#{req\ 2562}# #{opt\ 2563}# #{rest\ 2564}# #{kw\ 2565}# #{body\ 2566}# #{vars\ 2567}# #{r*\ 2568}# #{w*\ 2569}# #{aok\ 2570}# #{out\ 2571}# #{inits\ 2572}#) (if (pair? #{kw\ 2565}#) (let ((#{tmp\ 2586}# (car #{kw\ 2565}#))) (let ((#{tmp\ 2587}# ($sc-dispatch #{tmp\ 2586}# '(any any any)))) (if #{tmp\ 2587}# (@apply (lambda (#{k\ 2591}# #{id\ 2592}# #{i\ 2593}#) (begin (let ((#{v\ 2596}# (#{gen-var\ 500}# #{id\ 2592}#))) (begin (let ((#{l\ 2598}# (#{gen-labels\ 405}# (list #{v\ 2596}#)))) (begin (let ((#{r**\ 2600}# (#{extend-var-env\ 377}# #{l\ 2598}# (list #{v\ 2596}#) #{r*\ 2568}#))) (begin (let ((#{w**\ 2602}# (#{make-binding-wrap\ 434}# (list #{id\ 2592}#) #{l\ 2598}# #{w*\ 2569}#))) (#{expand-kw\ 2492}# #{req\ 2562}# #{opt\ 2563}# #{rest\ 2564}# (cdr #{kw\ 2565}#) #{body\ 2566}# (cons #{v\ 2596}# #{vars\ 2567}#) #{r**\ 2600}# #{w**\ 2602}# #{aok\ 2570}# (cons (list (syntax->datum #{k\ 2591}#) (syntax->datum #{id\ 2592}#) #{v\ 2596}#) #{out\ 2571}#) (cons (#{chi\ 472}# #{i\ 2593}# #{r*\ 2568}# #{w*\ 2569}# #{mod\ 2477}#) #{inits\ 2572}#))))))))))) #{tmp\ 2587}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2586}#)))) (#{expand-body\ 2494}# #{req\ 2562}# #{opt\ 2563}# #{rest\ 2564}# (if (begin (let ((#{t\ 2606}# #{aok\ 2570}#)) (if #{t\ 2606}# #{t\ 2606}# (pair? #{out\ 2571}#)))) (cons #{aok\ 2570}# (reverse #{out\ 2571}#)) #f) #{body\ 2566}# (reverse #{vars\ 2567}#) #{r*\ 2568}# #{w*\ 2569}# (reverse #{inits\ 2572}#) '())))) (#{expand-body\ 2494}# (lambda (#{req\ 2608}# #{opt\ 2609}# #{rest\ 2610}# #{kw\ 2611}# #{body\ 2612}# #{vars\ 2613}# #{r*\ 2614}# #{w*\ 2615}# #{inits\ 2616}# #{meta\ 2617}#) (let ((#{tmp\ 2628}# #{body\ 2612}#)) (let ((#{tmp\ 2629}# ($sc-dispatch #{tmp\ 2628}# '(any any . each-any)))) (if (if #{tmp\ 2629}# (@apply (lambda (#{docstring\ 2633}# #{e1\ 2634}# #{e2\ 2635}#) (string? (syntax->datum #{docstring\ 2633}#))) #{tmp\ 2629}#) #f) (@apply (lambda (#{docstring\ 2639}# #{e1\ 2640}# #{e2\ 2641}#) (#{expand-body\ 2494}# #{req\ 2608}# #{opt\ 2609}# #{rest\ 2610}# #{kw\ 2611}# (cons #{e1\ 2640}# #{e2\ 2641}#) #{vars\ 2613}# #{r*\ 2614}# #{w*\ 2615}# #{inits\ 2616}# (append #{meta\ 2617}# (list (cons 'documentation (syntax->datum #{docstring\ 2639}#)))))) #{tmp\ 2629}#) (let ((#{tmp\ 2644}# ($sc-dispatch #{tmp\ 2628}# '(#(vector #(each (any . any))) any . each-any)))) (if #{tmp\ 2644}# (@apply (lambda (#{k\ 2649}# #{v\ 2650}# #{e1\ 2651}# #{e2\ 2652}#) (#{expand-body\ 2494}# #{req\ 2608}# #{opt\ 2609}# #{rest\ 2610}# #{kw\ 2611}# (cons #{e1\ 2651}# #{e2\ 2652}#) #{vars\ 2613}# #{r*\ 2614}# #{w*\ 2615}# #{inits\ 2616}# (append #{meta\ 2617}# (syntax->datum (map cons #{k\ 2649}# #{v\ 2650}#))))) #{tmp\ 2644}#) (let ((#{tmp\ 2656}# ($sc-dispatch #{tmp\ 2628}# '(any . each-any)))) (if #{tmp\ 2656}# (@apply (lambda (#{e1\ 2659}# #{e2\ 2660}#) (values #{meta\ 2617}# #{req\ 2608}# #{opt\ 2609}# #{rest\ 2610}# #{kw\ 2611}# #{inits\ 2616}# #{vars\ 2613}# (#{chi-body\ 480}# (cons #{e1\ 2659}# #{e2\ 2660}#) (#{source-wrap\ 458}# #{e\ 2473}# #{w\ 2475}# #{s\ 2476}# #{mod\ 2477}#) #{r*\ 2614}# #{w*\ 2615}# #{mod\ 2477}#))) #{tmp\ 2656}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2628}#))))))))))) (begin (let ((#{tmp\ 2662}# #{clauses\ 2479}#)) (let ((#{tmp\ 2663}# ($sc-dispatch #{tmp\ 2662}# (quote ())))) (if #{tmp\ 2663}# (@apply (lambda () (values (quote ()) #f)) #{tmp\ 2663}#) (let ((#{tmp\ 2664}# ($sc-dispatch #{tmp\ 2662}# '((any any . each-any) . #(each (any any . each-any)))))) (if #{tmp\ 2664}# (@apply (lambda (#{args\ 2671}# #{e1\ 2672}# #{e2\ 2673}# #{args*\ 2674}# #{e1*\ 2675}# #{e2*\ 2676}#) (call-with-values (lambda () (#{get-formals\ 2478}# #{args\ 2671}#)) (lambda (#{req\ 2677}# #{opt\ 2678}# #{rest\ 2679}# #{kw\ 2680}#) (call-with-values (lambda () (#{expand-req\ 2488}# #{req\ 2677}# #{opt\ 2678}# #{rest\ 2679}# #{kw\ 2680}# (cons #{e1\ 2672}# #{e2\ 2673}#))) (lambda (#{meta\ 2686}# #{req\ 2687}# #{opt\ 2688}# #{rest\ 2689}# #{kw\ 2690}# #{inits\ 2691}# #{vars\ 2692}# #{body\ 2693}#) (call-with-values (lambda () (#{chi-lambda-case\ 496}# #{e\ 2473}# #{r\ 2474}# #{w\ 2475}# #{s\ 2476}# #{mod\ 2477}# #{get-formals\ 2478}# (map (lambda (#{tmp\ 2704}# #{tmp\ 2703}# #{tmp\ 2702}#) (cons #{tmp\ 2702}# (cons #{tmp\ 2703}# #{tmp\ 2704}#))) #{e2*\ 2676}# #{e1*\ 2675}# #{args*\ 2674}#))) (lambda (#{meta*\ 2706}# #{else*\ 2707}#) (values (append #{meta\ 2686}# #{meta*\ 2706}#) (#{build-lambda-case\ 333}# #{s\ 2476}# #{req\ 2687}# #{opt\ 2688}# #{rest\ 2689}# #{kw\ 2690}# #{inits\ 2691}# #{vars\ 2692}# #{body\ 2693}# #{else*\ 2707}#))))))))) #{tmp\ 2664}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 2662}#)))))))))) (#{strip\ 498}# (lambda (#{x\ 2710}# #{w\ 2711}#) (if (memq 'top (#{wrap-marks\ 394}# #{w\ 2711}#)) #{x\ 2710}# (letrec* ((#{f\ 2717}# (lambda (#{x\ 2718}#) (if (#{syntax-object?\ 351}# #{x\ 2718}#) (#{strip\ 498}# (#{syntax-object-expression\ 353}# #{x\ 2718}#) (#{syntax-object-wrap\ 355}# #{x\ 2718}#)) (if (pair? #{x\ 2718}#) (begin (let ((#{a\ 2725}# (#{f\ 2717}# (car #{x\ 2718}#))) (#{d\ 2726}# (#{f\ 2717}# (cdr #{x\ 2718}#)))) (if (if (eq? #{a\ 2725}# (car #{x\ 2718}#)) (eq? #{d\ 2726}# (cdr #{x\ 2718}#)) #f) #{x\ 2718}# (cons #{a\ 2725}# #{d\ 2726}#)))) (if (vector? #{x\ 2718}#) (begin (let ((#{old\ 2732}# (vector->list #{x\ 2718}#))) (begin (let ((#{new\ 2734}# (map #{f\ 2717}# #{old\ 2732}#))) (if (#{and-map*\ 35}# eq? #{old\ 2732}# #{new\ 2734}#) #{x\ 2718}# (list->vector #{new\ 2734}#)))))) #{x\ 2718}#)))))) (begin (#{f\ 2717}# #{x\ 2710}#)))))) (#{gen-var\ 500}# (lambda (#{id\ 2736}#) (begin (let ((#{id\ 2739}# (if (#{syntax-object?\ 351}# #{id\ 2736}#) (#{syntax-object-expression\ 353}# #{id\ 2736}#) #{id\ 2736}#))) (gensym (string-append (symbol->string #{id\ 2739}#) " ")))))) (#{lambda-var-list\ 502}# (lambda (#{vars\ 2741}#) (letrec* ((#{lvl\ 2747}# (lambda (#{vars\ 2748}# #{ls\ 2749}# #{w\ 2750}#) (if (pair? #{vars\ 2748}#) (#{lvl\ 2747}# (cdr #{vars\ 2748}#) (cons (#{wrap\ 456}# (car #{vars\ 2748}#) #{w\ 2750}# #f) #{ls\ 2749}#) #{w\ 2750}#) (if (#{id?\ 387}# #{vars\ 2748}#) (cons (#{wrap\ 456}# #{vars\ 2748}# #{w\ 2750}# #f) #{ls\ 2749}#) (if (null? #{vars\ 2748}#) #{ls\ 2749}# (if (#{syntax-object?\ 351}# #{vars\ 2748}#) (#{lvl\ 2747}# (#{syntax-object-expression\ 353}# #{vars\ 2748}#) #{ls\ 2749}# (#{join-wraps\ 438}# #{w\ 2750}# (#{syntax-object-wrap\ 355}# #{vars\ 2748}#))) (cons #{vars\ 2748}# #{ls\ 2749}#)))))))) (begin (#{lvl\ 2747}# #{vars\ 2741}# '() '(()))))))) (begin (set! #{make-primitive-ref\ 249}# (lambda (#{src\ 723}# #{name\ 724}#) (make-struct/no-tail (vector-ref %expanded-vtables 2) #{src\ 723}# #{name\ 724}#))) (set! #{fx+\ 288}# +) (set! #{fx-\ 290}# -) (set! #{fx=\ 292}# =) (set! #{fx<\ 294}# <) (set! #{set-syntax-object-expression!\ 359}# (lambda (#{x\ 1101}# #{update\ 1102}#) (vector-set! #{x\ 1101}# 1 #{update\ 1102}#))) (set! #{set-syntax-object-wrap!\ 361}# (lambda (#{x\ 1105}# #{update\ 1106}#) (vector-set! #{x\ 1105}# 2 #{update\ 1106}#))) (set! #{set-syntax-object-module!\ 363}# (lambda (#{x\ 1109}# #{update\ 1110}#) (vector-set! #{x\ 1109}# 3 #{update\ 1110}#))) (set! #{binding-type\ 370}# car) (set! #{binding-value\ 372}# cdr) (set! #{make-wrap\ 392}# cons) (set! #{wrap-marks\ 394}# car) (set! #{wrap-subst\ 396}# cdr) (set! #{ribcage?\ 410}# (lambda (#{x\ 1187}#) (if (vector? #{x\ 1187}#) (if (= (vector-length #{x\ 1187}#) 4) (eq? (vector-ref #{x\ 1187}# 0) (quote ribcage)) #f) #f))) (begin (#{global-extend\ 383}# 'local-syntax 'letrec-syntax #t) (#{global-extend\ 383}# 'local-syntax 'let-syntax #f) (#{global-extend\ 383}# 'core 'fluid-let-syntax (lambda (#{e\ 2761}# #{r\ 2762}# #{w\ 2763}# #{s\ 2764}# #{mod\ 2765}#) (let ((#{tmp\ 2771}# #{e\ 2761}#)) (let ((#{tmp\ 2772}# ($sc-dispatch #{tmp\ 2771}# '(any #(each (any any)) any . each-any)))) (if (if #{tmp\ 2772}# (@apply (lambda (#{_\ 2778}# #{var\ 2779}# #{val\ 2780}# #{e1\ 2781}# #{e2\ 2782}#) (#{valid-bound-ids?\ 450}# #{var\ 2779}#)) #{tmp\ 2772}#) #f) (@apply (lambda (#{_\ 2789}# #{var\ 2790}# #{val\ 2791}# #{e1\ 2792}# #{e2\ 2793}#) (begin (let ((#{names\ 2795}# (map (lambda (#{x\ 2796}#) (#{id-var-name\ 444}# #{x\ 2796}# #{w\ 2763}#)) #{var\ 2790}#))) (begin (for-each (lambda (#{id\ 2799}# #{n\ 2800}#) (begin (let ((#{atom-key\ 2805}# (#{binding-type\ 370}# (#{lookup\ 381}# #{n\ 2800}# #{r\ 2762}# #{mod\ 2765}#)))) (if (eqv? #{atom-key\ 2805}# 'displaced-lexical) (syntax-violation 'fluid-let-syntax "identifier out of context" #{e\ 2761}# (#{source-wrap\ 458}# #{id\ 2799}# #{w\ 2763}# #{s\ 2764}# #{mod\ 2765}#)))))) #{var\ 2790}# #{names\ 2795}#) (#{chi-body\ 480}# (cons #{e1\ 2792}# #{e2\ 2793}#) (#{source-wrap\ 458}# #{e\ 2761}# #{w\ 2763}# #{s\ 2764}# #{mod\ 2765}#) (#{extend-env\ 375}# #{names\ 2795}# (begin (let ((#{trans-r\ 2810}# (#{macros-only-env\ 379}# #{r\ 2762}#))) (map (lambda (#{x\ 2811}#) (cons 'macro (#{eval-local-transformer\ 484}# (#{chi\ 472}# #{x\ 2811}# #{trans-r\ 2810}# #{w\ 2763}# #{mod\ 2765}#) #{mod\ 2765}#))) #{val\ 2791}#))) #{r\ 2762}#) #{w\ 2763}# #{mod\ 2765}#))))) #{tmp\ 2772}#) (let ((#{_\ 2816}# #{tmp\ 2771}#)) (syntax-violation 'fluid-let-syntax "bad syntax" (#{source-wrap\ 458}# #{e\ 2761}# #{w\ 2763}# #{s\ 2764}# #{mod\ 2765}#)))))))) (#{global-extend\ 383}# 'core 'quote (lambda (#{e\ 2817}# #{r\ 2818}# #{w\ 2819}# #{s\ 2820}# #{mod\ 2821}#) (let ((#{tmp\ 2827}# #{e\ 2817}#)) (let ((#{tmp\ 2828}# ($sc-dispatch #{tmp\ 2827}# (quote (any any))))) (if #{tmp\ 2828}# (@apply (lambda (#{_\ 2831}# #{e\ 2832}#) (#{build-data\ 337}# #{s\ 2820}# (#{strip\ 498}# #{e\ 2832}# #{w\ 2819}#))) #{tmp\ 2828}#) (let ((#{_\ 2834}# #{tmp\ 2827}#)) (syntax-violation 'quote "bad syntax" (#{source-wrap\ 458}# #{e\ 2817}# #{w\ 2819}# #{s\ 2820}# #{mod\ 2821}#)))))))) (#{global-extend\ 383}# 'core 'syntax (letrec* ((#{gen-syntax\ 2836}# (lambda (#{src\ 2851}# #{e\ 2852}# #{r\ 2853}# #{maps\ 2854}# #{ellipsis?\ 2855}# #{mod\ 2856}#) (if (#{id?\ 387}# #{e\ 2852}#) (begin (let ((#{label\ 2864}# (#{id-var-name\ 444}# #{e\ 2852}# '(())))) (begin (let ((#{b\ 2867}# (#{lookup\ 381}# #{label\ 2864}# #{r\ 2853}# #{mod\ 2856}#))) (if (eq? (#{binding-type\ 370}# #{b\ 2867}#) 'syntax) (call-with-values (lambda () (begin (let ((#{var.lev\ 2869}# (#{binding-value\ 372}# #{b\ 2867}#))) (#{gen-ref\ 2838}# #{src\ 2851}# (car #{var.lev\ 2869}#) (cdr #{var.lev\ 2869}#) #{maps\ 2854}#)))) (lambda (#{var\ 2870}# #{maps\ 2871}#) (values (list (quote ref) #{var\ 2870}#) #{maps\ 2871}#))) (if (#{ellipsis?\ 2855}# #{e\ 2852}#) (syntax-violation 'syntax "misplaced ellipsis" #{src\ 2851}#) (values (list (quote quote) #{e\ 2852}#) #{maps\ 2854}#))))))) (let ((#{tmp\ 2876}# #{e\ 2852}#)) (let ((#{tmp\ 2877}# ($sc-dispatch #{tmp\ 2876}# '(any any)))) (if (if #{tmp\ 2877}# (@apply (lambda (#{dots\ 2880}# #{e\ 2881}#) (#{ellipsis?\ 2855}# #{dots\ 2880}#)) #{tmp\ 2877}#) #f) (@apply (lambda (#{dots\ 2884}# #{e\ 2885}#) (#{gen-syntax\ 2836}# #{src\ 2851}# #{e\ 2885}# #{r\ 2853}# #{maps\ 2854}# (lambda (#{x\ 2886}#) #f) #{mod\ 2856}#)) #{tmp\ 2877}#) (let ((#{tmp\ 2888}# ($sc-dispatch #{tmp\ 2876}# '(any any . any)))) (if (if #{tmp\ 2888}# (@apply (lambda (#{x\ 2892}# #{dots\ 2893}# #{y\ 2894}#) (#{ellipsis?\ 2855}# #{dots\ 2893}#)) #{tmp\ 2888}#) #f) (@apply (lambda (#{x\ 2898}# #{dots\ 2899}# #{y\ 2900}#) (letrec* ((#{f\ 2904}# (lambda (#{y\ 2905}# #{k\ 2906}#) (let ((#{tmp\ 2913}# #{y\ 2905}#)) (let ((#{tmp\ 2914}# ($sc-dispatch #{tmp\ 2913}# '(any . any)))) (if (if #{tmp\ 2914}# (@apply (lambda (#{dots\ 2917}# #{y\ 2918}#) (#{ellipsis?\ 2855}# #{dots\ 2917}#)) #{tmp\ 2914}#) #f) (@apply (lambda (#{dots\ 2921}# #{y\ 2922}#) (#{f\ 2904}# #{y\ 2922}# (lambda (#{maps\ 2923}#) (call-with-values (lambda () (#{k\ 2906}# (cons '() #{maps\ 2923}#))) (lambda (#{x\ 2925}# #{maps\ 2926}#) (if (null? (car #{maps\ 2926}#)) (syntax-violation 'syntax "extra ellipsis" #{src\ 2851}#) (values (#{gen-mappend\ 2840}# #{x\ 2925}# (car #{maps\ 2926}#)) (cdr #{maps\ 2926}#)))))))) #{tmp\ 2914}#) (let ((#{_\ 2930}# #{tmp\ 2913}#)) (call-with-values (lambda () (#{gen-syntax\ 2836}# #{src\ 2851}# #{y\ 2905}# #{r\ 2853}# #{maps\ 2854}# #{ellipsis?\ 2855}# #{mod\ 2856}#)) (lambda (#{y\ 2931}# #{maps\ 2932}#) (call-with-values (lambda () (#{k\ 2906}# #{maps\ 2932}#)) (lambda (#{x\ 2935}# #{maps\ 2936}#) (values (#{gen-append\ 2846}# #{x\ 2935}# #{y\ 2931}#) #{maps\ 2936}#)))))))))))) (begin (#{f\ 2904}# #{y\ 2900}# (lambda (#{maps\ 2907}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# #{src\ 2851}# #{x\ 2898}# #{r\ 2853}# (cons '() #{maps\ 2907}#) #{ellipsis?\ 2855}# #{mod\ 2856}#)) (lambda (#{x\ 2909}# #{maps\ 2910}#) (if (null? (car #{maps\ 2910}#)) (syntax-violation 'syntax "extra ellipsis" #{src\ 2851}#) (values (#{gen-map\ 2842}# #{x\ 2909}# (car #{maps\ 2910}#)) (cdr #{maps\ 2910}#)))))))))) #{tmp\ 2888}#) (let ((#{tmp\ 2939}# ($sc-dispatch #{tmp\ 2876}# '(any . any)))) (if #{tmp\ 2939}# (@apply (lambda (#{x\ 2942}# #{y\ 2943}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# #{src\ 2851}# #{x\ 2942}# #{r\ 2853}# #{maps\ 2854}# #{ellipsis?\ 2855}# #{mod\ 2856}#)) (lambda (#{x\ 2944}# #{maps\ 2945}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# #{src\ 2851}# #{y\ 2943}# #{r\ 2853}# #{maps\ 2945}# #{ellipsis?\ 2855}# #{mod\ 2856}#)) (lambda (#{y\ 2948}# #{maps\ 2949}#) (values (#{gen-cons\ 2844}# #{x\ 2944}# #{y\ 2948}#) #{maps\ 2949}#)))))) #{tmp\ 2939}#) (let ((#{tmp\ 2952}# ($sc-dispatch #{tmp\ 2876}# '#(vector (any . each-any))))) (if #{tmp\ 2952}# (@apply (lambda (#{e1\ 2955}# #{e2\ 2956}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# #{src\ 2851}# (cons #{e1\ 2955}# #{e2\ 2956}#) #{r\ 2853}# #{maps\ 2854}# #{ellipsis?\ 2855}# #{mod\ 2856}#)) (lambda (#{e\ 2958}# #{maps\ 2959}#) (values (#{gen-vector\ 2848}# #{e\ 2958}#) #{maps\ 2959}#)))) #{tmp\ 2952}#) (let ((#{_\ 2963}# #{tmp\ 2876}#)) (values (list (quote quote) #{e\ 2852}#) #{maps\ 2854}#)))))))))))))) (#{gen-ref\ 2838}# (lambda (#{src\ 2965}# #{var\ 2966}# #{level\ 2967}# #{maps\ 2968}#) (if (#{fx=\ 292}# #{level\ 2967}# 0) (values #{var\ 2966}# #{maps\ 2968}#) (if (null? #{maps\ 2968}#) (syntax-violation 'syntax "missing ellipsis" #{src\ 2965}#) (call-with-values (lambda () (#{gen-ref\ 2838}# #{src\ 2965}# #{var\ 2966}# (#{fx-\ 290}# #{level\ 2967}# 1) (cdr #{maps\ 2968}#))) (lambda (#{outer-var\ 2973}# #{outer-maps\ 2974}#) (begin (let ((#{b\ 2978}# (assq #{outer-var\ 2973}# (car #{maps\ 2968}#)))) (if #{b\ 2978}# (values (cdr #{b\ 2978}#) #{maps\ 2968}#) (begin (let ((#{inner-var\ 2980}# (#{gen-var\ 500}# (quote tmp)))) (values #{inner-var\ 2980}# (cons (cons (cons #{outer-var\ 2973}# #{inner-var\ 2980}#) (car #{maps\ 2968}#)) #{outer-maps\ 2974}#))))))))))))) (#{gen-mappend\ 2840}# (lambda (#{e\ 2981}# #{map-env\ 2982}#) (list 'apply '(primitive append) (#{gen-map\ 2842}# #{e\ 2981}# #{map-env\ 2982}#)))) (#{gen-map\ 2842}# (lambda (#{e\ 2986}# #{map-env\ 2987}#) (begin (let ((#{formals\ 2992}# (map cdr #{map-env\ 2987}#)) (#{actuals\ 2993}# (map (lambda (#{x\ 2994}#) (list (quote ref) (car #{x\ 2994}#))) #{map-env\ 2987}#))) (if (eq? (car #{e\ 2986}#) (quote ref)) (car #{actuals\ 2993}#) (if (and-map (lambda (#{x\ 3001}#) (if (eq? (car #{x\ 3001}#) (quote ref)) (memq (car (cdr #{x\ 3001}#)) #{formals\ 2992}#) #f)) (cdr #{e\ 2986}#)) (cons 'map (cons (list 'primitive (car #{e\ 2986}#)) (map (begin (let ((#{r\ 3007}# (map cons #{formals\ 2992}# #{actuals\ 2993}#))) (lambda (#{x\ 3008}#) (cdr (assq (car (cdr #{x\ 3008}#)) #{r\ 3007}#))))) (cdr #{e\ 2986}#)))) (cons 'map (cons (list 'lambda #{formals\ 2992}# #{e\ 2986}#) #{actuals\ 2993}#)))))))) (#{gen-cons\ 2844}# (lambda (#{x\ 3012}# #{y\ 3013}#) (begin (let ((#{atom-key\ 3018}# (car #{y\ 3013}#))) (if (eqv? #{atom-key\ 3018}# (quote quote)) (if (eq? (car #{x\ 3012}#) (quote quote)) (list 'quote (cons (car (cdr #{x\ 3012}#)) (car (cdr #{y\ 3013}#)))) (if (eq? (car (cdr #{y\ 3013}#)) (quote ())) (list (quote list) #{x\ 3012}#) (list (quote cons) #{x\ 3012}# #{y\ 3013}#))) (if (eqv? #{atom-key\ 3018}# (quote list)) (cons 'list (cons #{x\ 3012}# (cdr #{y\ 3013}#))) (list (quote cons) #{x\ 3012}# #{y\ 3013}#))))))) (#{gen-append\ 2846}# (lambda (#{x\ 3027}# #{y\ 3028}#) (if (equal? #{y\ 3028}# (quote (quote ()))) #{x\ 3027}# (list (quote append) #{x\ 3027}# #{y\ 3028}#)))) (#{gen-vector\ 2848}# (lambda (#{x\ 3032}#) (if (eq? (car #{x\ 3032}#) (quote list)) (cons (quote vector) (cdr #{x\ 3032}#)) (if (eq? (car #{x\ 3032}#) (quote quote)) (list 'quote (list->vector (car (cdr #{x\ 3032}#)))) (list (quote list->vector) #{x\ 3032}#))))) (#{regen\ 2850}# (lambda (#{x\ 3042}#) (begin (let ((#{atom-key\ 3046}# (car #{x\ 3042}#))) (if (eqv? #{atom-key\ 3046}# (quote ref)) (#{build-lexical-reference\ 315}# 'value #f (car (cdr #{x\ 3042}#)) (car (cdr #{x\ 3042}#))) (if (eqv? #{atom-key\ 3046}# (quote primitive)) (#{build-primref\ 335}# #f (car (cdr #{x\ 3042}#))) (if (eqv? #{atom-key\ 3046}# (quote quote)) (#{build-data\ 337}# #f (car (cdr #{x\ 3042}#))) (if (eqv? #{atom-key\ 3046}# (quote lambda)) (if (list? (car (cdr #{x\ 3042}#))) (#{build-simple-lambda\ 329}# #f (car (cdr #{x\ 3042}#)) #f (car (cdr #{x\ 3042}#)) '() (#{regen\ 2850}# (car (cdr (cdr #{x\ 3042}#))))) (error "how did we get here" #{x\ 3042}#)) (#{build-application\ 309}# #f (#{build-primref\ 335}# #f (car #{x\ 3042}#)) (map #{regen\ 2850}# (cdr #{x\ 3042}#)))))))))))) (begin (lambda (#{e\ 3058}# #{r\ 3059}# #{w\ 3060}# #{s\ 3061}# #{mod\ 3062}#) (begin (let ((#{e\ 3069}# (#{source-wrap\ 458}# #{e\ 3058}# #{w\ 3060}# #{s\ 3061}# #{mod\ 3062}#))) (let ((#{tmp\ 3070}# #{e\ 3069}#)) (let ((#{tmp\ 3071}# ($sc-dispatch #{tmp\ 3070}# '(any any)))) (if #{tmp\ 3071}# (@apply (lambda (#{_\ 3074}# #{x\ 3075}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# #{e\ 3069}# #{x\ 3075}# #{r\ 3059}# '() #{ellipsis?\ 488}# #{mod\ 3062}#)) (lambda (#{e\ 3076}# #{maps\ 3077}#) (#{regen\ 2850}# #{e\ 3076}#)))) #{tmp\ 3071}#) (let ((#{_\ 3081}# #{tmp\ 3070}#)) (syntax-violation 'syntax "bad `syntax' form" #{e\ 3069}#))))))))))) (#{global-extend\ 383}# 'core 'lambda (lambda (#{e\ 3082}# #{r\ 3083}# #{w\ 3084}# #{s\ 3085}# #{mod\ 3086}#) (let ((#{tmp\ 3092}# #{e\ 3082}#)) (let ((#{tmp\ 3093}# ($sc-dispatch #{tmp\ 3092}# '(any any any . each-any)))) (if #{tmp\ 3093}# (@apply (lambda (#{_\ 3098}# #{args\ 3099}# #{e1\ 3100}# #{e2\ 3101}#) (call-with-values (lambda () (#{lambda-formals\ 490}# #{args\ 3099}#)) (lambda (#{req\ 3102}# #{opt\ 3103}# #{rest\ 3104}# #{kw\ 3105}#) (letrec* ((#{lp\ 3113}# (lambda (#{body\ 3114}# #{meta\ 3115}#) (let ((#{tmp\ 3117}# #{body\ 3114}#)) (let ((#{tmp\ 3118}# ($sc-dispatch #{tmp\ 3117}# '(any any . each-any)))) (if (if #{tmp\ 3118}# (@apply (lambda (#{docstring\ 3122}# #{e1\ 3123}# #{e2\ 3124}#) (string? (syntax->datum #{docstring\ 3122}#))) #{tmp\ 3118}#) #f) (@apply (lambda (#{docstring\ 3128}# #{e1\ 3129}# #{e2\ 3130}#) (#{lp\ 3113}# (cons #{e1\ 3129}# #{e2\ 3130}#) (append #{meta\ 3115}# (list (cons 'documentation (syntax->datum #{docstring\ 3128}#)))))) #{tmp\ 3118}#) (let ((#{tmp\ 3133}# ($sc-dispatch #{tmp\ 3117}# '(#(vector #(each (any . any))) any . each-any)))) (if #{tmp\ 3133}# (@apply (lambda (#{k\ 3138}# #{v\ 3139}# #{e1\ 3140}# #{e2\ 3141}#) (#{lp\ 3113}# (cons #{e1\ 3140}# #{e2\ 3141}#) (append #{meta\ 3115}# (syntax->datum (map cons #{k\ 3138}# #{v\ 3139}#))))) #{tmp\ 3133}#) (let ((#{_\ 3146}# #{tmp\ 3117}#)) (#{chi-simple-lambda\ 492}# #{e\ 3082}# #{r\ 3083}# #{w\ 3084}# #{s\ 3085}# #{mod\ 3086}# #{req\ 3102}# #{rest\ 3104}# #{meta\ 3115}# #{body\ 3114}#)))))))))) (begin (#{lp\ 3113}# (cons #{e1\ 3100}# #{e2\ 3101}#) '())))))) #{tmp\ 3093}#) (let ((#{_\ 3148}# #{tmp\ 3092}#)) (syntax-violation 'lambda "bad lambda" #{e\ 3082}#))))))) (#{global-extend\ 383}# 'core 'lambda* (lambda (#{e\ 3149}# #{r\ 3150}# #{w\ 3151}# #{s\ 3152}# #{mod\ 3153}#) (let ((#{tmp\ 3159}# #{e\ 3149}#)) (let ((#{tmp\ 3160}# ($sc-dispatch #{tmp\ 3159}# '(any any any . each-any)))) (if #{tmp\ 3160}# (@apply (lambda (#{_\ 3165}# #{args\ 3166}# #{e1\ 3167}# #{e2\ 3168}#) (call-with-values (lambda () (#{chi-lambda-case\ 496}# #{e\ 3149}# #{r\ 3150}# #{w\ 3151}# #{s\ 3152}# #{mod\ 3153}# #{lambda*-formals\ 494}# (list (cons #{args\ 3166}# (cons #{e1\ 3167}# #{e2\ 3168}#))))) (lambda (#{meta\ 3170}# #{lcase\ 3171}#) (#{build-case-lambda\ 331}# #{s\ 3152}# #{meta\ 3170}# #{lcase\ 3171}#)))) #{tmp\ 3160}#) (let ((#{_\ 3175}# #{tmp\ 3159}#)) (syntax-violation 'lambda "bad lambda*" #{e\ 3149}#))))))) (#{global-extend\ 383}# 'core 'case-lambda (lambda (#{e\ 3176}# #{r\ 3177}# #{w\ 3178}# #{s\ 3179}# #{mod\ 3180}#) (let ((#{tmp\ 3186}# #{e\ 3176}#)) (let ((#{tmp\ 3187}# ($sc-dispatch #{tmp\ 3186}# '(any (any any . each-any) . #(each (any any . each-any)))))) (if #{tmp\ 3187}# (@apply (lambda (#{_\ 3195}# #{args\ 3196}# #{e1\ 3197}# #{e2\ 3198}# #{args*\ 3199}# #{e1*\ 3200}# #{e2*\ 3201}#) (call-with-values (lambda () (#{chi-lambda-case\ 496}# #{e\ 3176}# #{r\ 3177}# #{w\ 3178}# #{s\ 3179}# #{mod\ 3180}# #{lambda-formals\ 490}# (cons (cons #{args\ 3196}# (cons #{e1\ 3197}# #{e2\ 3198}#)) (map (lambda (#{tmp\ 3205}# #{tmp\ 3204}# #{tmp\ 3203}#) (cons #{tmp\ 3203}# (cons #{tmp\ 3204}# #{tmp\ 3205}#))) #{e2*\ 3201}# #{e1*\ 3200}# #{args*\ 3199}#)))) (lambda (#{meta\ 3207}# #{lcase\ 3208}#) (#{build-case-lambda\ 331}# #{s\ 3179}# #{meta\ 3207}# #{lcase\ 3208}#)))) #{tmp\ 3187}#) (let ((#{_\ 3212}# #{tmp\ 3186}#)) (syntax-violation 'case-lambda "bad case-lambda" #{e\ 3176}#))))))) (#{global-extend\ 383}# 'core 'case-lambda* (lambda (#{e\ 3213}# #{r\ 3214}# #{w\ 3215}# #{s\ 3216}# #{mod\ 3217}#) (let ((#{tmp\ 3223}# #{e\ 3213}#)) (let ((#{tmp\ 3224}# ($sc-dispatch #{tmp\ 3223}# '(any (any any . each-any) . #(each (any any . each-any)))))) (if #{tmp\ 3224}# (@apply (lambda (#{_\ 3232}# #{args\ 3233}# #{e1\ 3234}# #{e2\ 3235}# #{args*\ 3236}# #{e1*\ 3237}# #{e2*\ 3238}#) (call-with-values (lambda () (#{chi-lambda-case\ 496}# #{e\ 3213}# #{r\ 3214}# #{w\ 3215}# #{s\ 3216}# #{mod\ 3217}# #{lambda*-formals\ 494}# (cons (cons #{args\ 3233}# (cons #{e1\ 3234}# #{e2\ 3235}#)) (map (lambda (#{tmp\ 3242}# #{tmp\ 3241}# #{tmp\ 3240}#) (cons #{tmp\ 3240}# (cons #{tmp\ 3241}# #{tmp\ 3242}#))) #{e2*\ 3238}# #{e1*\ 3237}# #{args*\ 3236}#)))) (lambda (#{meta\ 3244}# #{lcase\ 3245}#) (#{build-case-lambda\ 331}# #{s\ 3216}# #{meta\ 3244}# #{lcase\ 3245}#)))) #{tmp\ 3224}#) (let ((#{_\ 3249}# #{tmp\ 3223}#)) (syntax-violation 'case-lambda "bad case-lambda*" #{e\ 3213}#))))))) (#{global-extend\ 383}# 'core 'let (letrec* ((#{chi-let\ 3251}# (lambda (#{e\ 3252}# #{r\ 3253}# #{w\ 3254}# #{s\ 3255}# #{mod\ 3256}# #{constructor\ 3257}# #{ids\ 3258}# #{vals\ 3259}# #{exps\ 3260}#) (if (not (#{valid-bound-ids?\ 450}# #{ids\ 3258}#)) (syntax-violation 'let "duplicate bound variable" #{e\ 3252}#) (begin (let ((#{labels\ 3272}# (#{gen-labels\ 405}# #{ids\ 3258}#)) (#{new-vars\ 3273}# (map #{gen-var\ 500}# #{ids\ 3258}#))) (begin (let ((#{nw\ 3276}# (#{make-binding-wrap\ 434}# #{ids\ 3258}# #{labels\ 3272}# #{w\ 3254}#)) (#{nr\ 3277}# (#{extend-var-env\ 377}# #{labels\ 3272}# #{new-vars\ 3273}# #{r\ 3253}#))) (#{constructor\ 3257}# #{s\ 3255}# (map syntax->datum #{ids\ 3258}#) #{new-vars\ 3273}# (map (lambda (#{x\ 3278}#) (#{chi\ 472}# #{x\ 3278}# #{r\ 3253}# #{w\ 3254}# #{mod\ 3256}#)) #{vals\ 3259}#) (#{chi-body\ 480}# #{exps\ 3260}# (#{source-wrap\ 458}# #{e\ 3252}# #{nw\ 3276}# #{s\ 3255}# #{mod\ 3256}#) #{nr\ 3277}# #{nw\ 3276}# #{mod\ 3256}#)))))))))) (begin (lambda (#{e\ 3280}# #{r\ 3281}# #{w\ 3282}# #{s\ 3283}# #{mod\ 3284}#) (let ((#{tmp\ 3290}# #{e\ 3280}#)) (let ((#{tmp\ 3291}# ($sc-dispatch #{tmp\ 3290}# '(any #(each (any any)) any . each-any)))) (if (if #{tmp\ 3291}# (@apply (lambda (#{_\ 3297}# #{id\ 3298}# #{val\ 3299}# #{e1\ 3300}# #{e2\ 3301}#) (and-map #{id?\ 387}# #{id\ 3298}#)) #{tmp\ 3291}#) #f) (@apply (lambda (#{_\ 3308}# #{id\ 3309}# #{val\ 3310}# #{e1\ 3311}# #{e2\ 3312}#) (#{chi-let\ 3251}# #{e\ 3280}# #{r\ 3281}# #{w\ 3282}# #{s\ 3283}# #{mod\ 3284}# #{build-let\ 341}# #{id\ 3309}# #{val\ 3310}# (cons #{e1\ 3311}# #{e2\ 3312}#))) #{tmp\ 3291}#) (let ((#{tmp\ 3316}# ($sc-dispatch #{tmp\ 3290}# '(any any #(each (any any)) any . each-any)))) (if (if #{tmp\ 3316}# (@apply (lambda (#{_\ 3323}# #{f\ 3324}# #{id\ 3325}# #{val\ 3326}# #{e1\ 3327}# #{e2\ 3328}#) (if (#{id?\ 387}# #{f\ 3324}#) (and-map #{id?\ 387}# #{id\ 3325}#) #f)) #{tmp\ 3316}#) #f) (@apply (lambda (#{_\ 3338}# #{f\ 3339}# #{id\ 3340}# #{val\ 3341}# #{e1\ 3342}# #{e2\ 3343}#) (#{chi-let\ 3251}# #{e\ 3280}# #{r\ 3281}# #{w\ 3282}# #{s\ 3283}# #{mod\ 3284}# #{build-named-let\ 343}# (cons #{f\ 3339}# #{id\ 3340}#) #{val\ 3341}# (cons #{e1\ 3342}# #{e2\ 3343}#))) #{tmp\ 3316}#) (let ((#{_\ 3348}# #{tmp\ 3290}#)) (syntax-violation 'let "bad let" (#{source-wrap\ 458}# #{e\ 3280}# #{w\ 3282}# #{s\ 3283}# #{mod\ 3284}#)))))))))))) (#{global-extend\ 383}# 'core 'letrec (lambda (#{e\ 3349}# #{r\ 3350}# #{w\ 3351}# #{s\ 3352}# #{mod\ 3353}#) (let ((#{tmp\ 3359}# #{e\ 3349}#)) (let ((#{tmp\ 3360}# ($sc-dispatch #{tmp\ 3359}# '(any #(each (any any)) any . each-any)))) (if (if #{tmp\ 3360}# (@apply (lambda (#{_\ 3366}# #{id\ 3367}# #{val\ 3368}# #{e1\ 3369}# #{e2\ 3370}#) (and-map #{id?\ 387}# #{id\ 3367}#)) #{tmp\ 3360}#) #f) (@apply (lambda (#{_\ 3377}# #{id\ 3378}# #{val\ 3379}# #{e1\ 3380}# #{e2\ 3381}#) (begin (let ((#{ids\ 3383}# #{id\ 3378}#)) (if (not (#{valid-bound-ids?\ 450}# #{ids\ 3383}#)) (syntax-violation 'letrec "duplicate bound variable" #{e\ 3349}#) (begin (let ((#{labels\ 3387}# (#{gen-labels\ 405}# #{ids\ 3383}#)) (#{new-vars\ 3388}# (map #{gen-var\ 500}# #{ids\ 3383}#))) (begin (let ((#{w\ 3391}# (#{make-binding-wrap\ 434}# #{ids\ 3383}# #{labels\ 3387}# #{w\ 3351}#)) (#{r\ 3392}# (#{extend-var-env\ 377}# #{labels\ 3387}# #{new-vars\ 3388}# #{r\ 3350}#))) (#{build-letrec\ 345}# #{s\ 3352}# #f (map syntax->datum #{ids\ 3383}#) #{new-vars\ 3388}# (map (lambda (#{x\ 3393}#) (#{chi\ 472}# #{x\ 3393}# #{r\ 3392}# #{w\ 3391}# #{mod\ 3353}#)) #{val\ 3379}#) (#{chi-body\ 480}# (cons #{e1\ 3380}# #{e2\ 3381}#) (#{source-wrap\ 458}# #{e\ 3349}# #{w\ 3391}# #{s\ 3352}# #{mod\ 3353}#) #{r\ 3392}# #{w\ 3391}# #{mod\ 3353}#)))))))))) #{tmp\ 3360}#) (let ((#{_\ 3398}# #{tmp\ 3359}#)) (syntax-violation 'letrec "bad letrec" (#{source-wrap\ 458}# #{e\ 3349}# #{w\ 3351}# #{s\ 3352}# #{mod\ 3353}#)))))))) (#{global-extend\ 383}# 'core 'letrec* (lambda (#{e\ 3399}# #{r\ 3400}# #{w\ 3401}# #{s\ 3402}# #{mod\ 3403}#) (let ((#{tmp\ 3409}# #{e\ 3399}#)) (let ((#{tmp\ 3410}# ($sc-dispatch #{tmp\ 3409}# '(any #(each (any any)) any . each-any)))) (if (if #{tmp\ 3410}# (@apply (lambda (#{_\ 3416}# #{id\ 3417}# #{val\ 3418}# #{e1\ 3419}# #{e2\ 3420}#) (and-map #{id?\ 387}# #{id\ 3417}#)) #{tmp\ 3410}#) #f) (@apply (lambda (#{_\ 3427}# #{id\ 3428}# #{val\ 3429}# #{e1\ 3430}# #{e2\ 3431}#) (begin (let ((#{ids\ 3433}# #{id\ 3428}#)) (if (not (#{valid-bound-ids?\ 450}# #{ids\ 3433}#)) (syntax-violation 'letrec* "duplicate bound variable" #{e\ 3399}#) (begin (let ((#{labels\ 3437}# (#{gen-labels\ 405}# #{ids\ 3433}#)) (#{new-vars\ 3438}# (map #{gen-var\ 500}# #{ids\ 3433}#))) (begin (let ((#{w\ 3441}# (#{make-binding-wrap\ 434}# #{ids\ 3433}# #{labels\ 3437}# #{w\ 3401}#)) (#{r\ 3442}# (#{extend-var-env\ 377}# #{labels\ 3437}# #{new-vars\ 3438}# #{r\ 3400}#))) (#{build-letrec\ 345}# #{s\ 3402}# #t (map syntax->datum #{ids\ 3433}#) #{new-vars\ 3438}# (map (lambda (#{x\ 3443}#) (#{chi\ 472}# #{x\ 3443}# #{r\ 3442}# #{w\ 3441}# #{mod\ 3403}#)) #{val\ 3429}#) (#{chi-body\ 480}# (cons #{e1\ 3430}# #{e2\ 3431}#) (#{source-wrap\ 458}# #{e\ 3399}# #{w\ 3441}# #{s\ 3402}# #{mod\ 3403}#) #{r\ 3442}# #{w\ 3441}# #{mod\ 3403}#)))))))))) #{tmp\ 3410}#) (let ((#{_\ 3448}# #{tmp\ 3409}#)) (syntax-violation 'letrec* "bad letrec*" (#{source-wrap\ 458}# #{e\ 3399}# #{w\ 3401}# #{s\ 3402}# #{mod\ 3403}#)))))))) (#{global-extend\ 383}# 'core 'set! (lambda (#{e\ 3449}# #{r\ 3450}# #{w\ 3451}# #{s\ 3452}# #{mod\ 3453}#) (let ((#{tmp\ 3459}# #{e\ 3449}#)) (let ((#{tmp\ 3460}# ($sc-dispatch #{tmp\ 3459}# '(any any any)))) (if (if #{tmp\ 3460}# (@apply (lambda (#{_\ 3464}# #{id\ 3465}# #{val\ 3466}#) (#{id?\ 387}# #{id\ 3465}#)) #{tmp\ 3460}#) #f) (@apply (lambda (#{_\ 3470}# #{id\ 3471}# #{val\ 3472}#) (begin (let ((#{val\ 3475}# (#{chi\ 472}# #{val\ 3472}# #{r\ 3450}# #{w\ 3451}# #{mod\ 3453}#)) (#{n\ 3476}# (#{id-var-name\ 444}# #{id\ 3471}# #{w\ 3451}#))) (begin (let ((#{b\ 3478}# (#{lookup\ 381}# #{n\ 3476}# #{r\ 3450}# #{mod\ 3453}#))) (begin (let ((#{atom-key\ 3481}# (#{binding-type\ 370}# #{b\ 3478}#))) (if (eqv? #{atom-key\ 3481}# 'lexical) (#{build-lexical-assignment\ 317}# #{s\ 3452}# (syntax->datum #{id\ 3471}#) (#{binding-value\ 372}# #{b\ 3478}#) #{val\ 3475}#) (if (eqv? #{atom-key\ 3481}# 'global) (#{build-global-assignment\ 323}# #{s\ 3452}# #{n\ 3476}# #{val\ 3475}# #{mod\ 3453}#) (if (eqv? #{atom-key\ 3481}# 'displaced-lexical) (syntax-violation 'set! "identifier out of context" (#{wrap\ 456}# #{id\ 3471}# #{w\ 3451}# #{mod\ 3453}#)) (syntax-violation 'set! "bad set!" (#{source-wrap\ 458}# #{e\ 3449}# #{w\ 3451}# #{s\ 3452}# #{mod\ 3453}#)))))))))))) #{tmp\ 3460}#) (let ((#{tmp\ 3486}# ($sc-dispatch #{tmp\ 3459}# '(any (any . each-any) any)))) (if #{tmp\ 3486}# (@apply (lambda (#{_\ 3491}# #{head\ 3492}# #{tail\ 3493}# #{val\ 3494}#) (call-with-values (lambda () (#{syntax-type\ 468}# #{head\ 3492}# #{r\ 3450}# '(()) #f #f #{mod\ 3453}# #t)) (lambda (#{type\ 3497}# #{value\ 3498}# #{ee\ 3499}# #{ww\ 3500}# #{ss\ 3501}# #{modmod\ 3502}#) (if (eqv? #{type\ 3497}# (quote module-ref)) (begin (let ((#{val\ 3511}# (#{chi\ 472}# #{val\ 3494}# #{r\ 3450}# #{w\ 3451}# #{mod\ 3453}#))) (call-with-values (lambda () (#{value\ 3498}# (cons #{head\ 3492}# #{tail\ 3493}#) #{r\ 3450}# #{w\ 3451}#)) (lambda (#{e\ 3513}# #{r\ 3514}# #{w\ 3515}# #{s*\ 3516}# #{mod\ 3517}#) (let ((#{tmp\ 3523}# #{e\ 3513}#)) (let ((#{tmp\ 3524}# (list #{tmp\ 3523}#))) (if (if #{tmp\ 3524}# (@apply (lambda (#{e\ 3526}#) (#{id?\ 387}# #{e\ 3526}#)) #{tmp\ 3524}#) #f) (@apply (lambda (#{e\ 3528}#) (#{build-global-assignment\ 323}# #{s\ 3452}# (syntax->datum #{e\ 3528}#) #{val\ 3511}# #{mod\ 3517}#)) #{tmp\ 3524}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3523}#)))))))) (#{build-application\ 309}# #{s\ 3452}# (#{chi\ 472}# (list '#(syntax-object setter ((top) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(type value ee ww ss modmod) #((top) (top) (top) (top) (top) (top)) #("i3503" "i3504" "i3505" "i3506" "i3507" "i3508")) #(ribcage #(_ head tail val) #((top) (top) (top) (top)) #("i3487" "i3488" "i3489" "i3490")) #(ribcage () () ()) #(ribcage #(e r w s mod) #((top) (top) (top) (top) (top)) #("i3454" "i3455" "i3456" "i3457" "i3458")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile)) #{head\ 3492}#) #{r\ 3450}# #{w\ 3451}# #{mod\ 3453}#) (map (lambda (#{e\ 3530}#) (#{chi\ 472}# #{e\ 3530}# #{r\ 3450}# #{w\ 3451}# #{mod\ 3453}#)) (append #{tail\ 3493}# (list #{val\ 3494}#)))))))) #{tmp\ 3486}#) (let ((#{_\ 3534}# #{tmp\ 3459}#)) (syntax-violation 'set! "bad set!" (#{source-wrap\ 458}# #{e\ 3449}# #{w\ 3451}# #{s\ 3452}# #{mod\ 3453}#)))))))))) (#{global-extend\ 383}# 'module-ref '@ (lambda (#{e\ 3535}# #{r\ 3536}# #{w\ 3537}#) (let ((#{tmp\ 3541}# #{e\ 3535}#)) (let ((#{tmp\ 3542}# ($sc-dispatch #{tmp\ 3541}# '(any each-any any)))) (if (if #{tmp\ 3542}# (@apply (lambda (#{_\ 3546}# #{mod\ 3547}# #{id\ 3548}#) (if (and-map #{id?\ 387}# #{mod\ 3547}#) (#{id?\ 387}# #{id\ 3548}#) #f)) #{tmp\ 3542}#) #f) (@apply (lambda (#{_\ 3555}# #{mod\ 3556}# #{id\ 3557}#) (values (syntax->datum #{id\ 3557}#) #{r\ 3536}# #{w\ 3537}# #f (syntax->datum (cons '#(syntax-object public ((top) #(ribcage #(_ mod id) #((top) (top) (top)) #("i3552" "i3553" "i3554")) #(ribcage () () ()) #(ribcage #(e r w) #((top) (top) (top)) #("i3538" "i3539" "i3540")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile)) #{mod\ 3556}#)))) #{tmp\ 3542}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3541}#)))))) (#{global-extend\ 383}# 'module-ref '@@ (lambda (#{e\ 3559}# #{r\ 3560}# #{w\ 3561}#) (letrec* ((#{remodulate\ 3566}# (lambda (#{x\ 3567}# #{mod\ 3568}#) (if (pair? #{x\ 3567}#) (cons (#{remodulate\ 3566}# (car #{x\ 3567}#) #{mod\ 3568}#) (#{remodulate\ 3566}# (cdr #{x\ 3567}#) #{mod\ 3568}#)) (if (#{syntax-object?\ 351}# #{x\ 3567}#) (#{make-syntax-object\ 349}# (#{remodulate\ 3566}# (#{syntax-object-expression\ 353}# #{x\ 3567}#) #{mod\ 3568}#) (#{syntax-object-wrap\ 355}# #{x\ 3567}#) #{mod\ 3568}#) (if (vector? #{x\ 3567}#) (begin (let ((#{n\ 3579}# (vector-length #{x\ 3567}#))) (begin (let ((#{v\ 3581}# (make-vector #{n\ 3579}#))) (letrec* ((#{loop\ 3584}# (lambda (#{i\ 3585}#) (if (#{fx=\ 292}# #{i\ 3585}# #{n\ 3579}#) (begin (if #f #f) #{v\ 3581}#) (begin (vector-set! #{v\ 3581}# #{i\ 3585}# (#{remodulate\ 3566}# (vector-ref #{x\ 3567}# #{i\ 3585}#) #{mod\ 3568}#)) (#{loop\ 3584}# (#{fx+\ 288}# #{i\ 3585}# 1))))))) (begin (#{loop\ 3584}# 0))))))) #{x\ 3567}#)))))) (begin (let ((#{tmp\ 3589}# #{e\ 3559}#)) (let ((#{tmp\ 3590}# ($sc-dispatch #{tmp\ 3589}# '(any each-any any)))) (if (if #{tmp\ 3590}# (@apply (lambda (#{_\ 3594}# #{mod\ 3595}# #{exp\ 3596}#) (and-map #{id?\ 387}# #{mod\ 3595}#)) #{tmp\ 3590}#) #f) (@apply (lambda (#{_\ 3601}# #{mod\ 3602}# #{exp\ 3603}#) (begin (let ((#{mod\ 3605}# (syntax->datum (cons '#(syntax-object private ((top) #(ribcage #(_ mod exp) #((top) (top) (top)) #("i3598" "i3599" "i3600")) #(ribcage (remodulate) ((top)) ("i3565")) #(ribcage #(e r w) #((top) (top) (top)) #("i3562" "i3563" "i3564")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile)) #{mod\ 3602}#)))) (values (#{remodulate\ 3566}# #{exp\ 3603}# #{mod\ 3605}#) #{r\ 3560}# #{w\ 3561}# (#{source-annotation\ 366}# #{exp\ 3603}#) #{mod\ 3605}#)))) #{tmp\ 3590}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3589}#)))))))) (#{global-extend\ 383}# 'core 'if (lambda (#{e\ 3607}# #{r\ 3608}# #{w\ 3609}# #{s\ 3610}# #{mod\ 3611}#) (let ((#{tmp\ 3617}# #{e\ 3607}#)) (let ((#{tmp\ 3618}# ($sc-dispatch #{tmp\ 3617}# '(any any any)))) (if #{tmp\ 3618}# (@apply (lambda (#{_\ 3622}# #{test\ 3623}# #{then\ 3624}#) (#{build-conditional\ 311}# #{s\ 3610}# (#{chi\ 472}# #{test\ 3623}# #{r\ 3608}# #{w\ 3609}# #{mod\ 3611}#) (#{chi\ 472}# #{then\ 3624}# #{r\ 3608}# #{w\ 3609}# #{mod\ 3611}#) (#{build-void\ 307}# #f))) #{tmp\ 3618}#) (let ((#{tmp\ 3626}# ($sc-dispatch #{tmp\ 3617}# '(any any any any)))) (if #{tmp\ 3626}# (@apply (lambda (#{_\ 3631}# #{test\ 3632}# #{then\ 3633}# #{else\ 3634}#) (#{build-conditional\ 311}# #{s\ 3610}# (#{chi\ 472}# #{test\ 3632}# #{r\ 3608}# #{w\ 3609}# #{mod\ 3611}#) (#{chi\ 472}# #{then\ 3633}# #{r\ 3608}# #{w\ 3609}# #{mod\ 3611}#) (#{chi\ 472}# #{else\ 3634}# #{r\ 3608}# #{w\ 3609}# #{mod\ 3611}#))) #{tmp\ 3626}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3617}#)))))))) (#{global-extend\ 383}# 'core 'with-fluids (lambda (#{e\ 3635}# #{r\ 3636}# #{w\ 3637}# #{s\ 3638}# #{mod\ 3639}#) (let ((#{tmp\ 3645}# #{e\ 3635}#)) (let ((#{tmp\ 3646}# ($sc-dispatch #{tmp\ 3645}# '(any #(each (any any)) any . each-any)))) (if #{tmp\ 3646}# (@apply (lambda (#{_\ 3652}# #{fluid\ 3653}# #{val\ 3654}# #{b\ 3655}# #{b*\ 3656}#) (#{build-dynlet\ 313}# #{s\ 3638}# (map (lambda (#{x\ 3657}#) (#{chi\ 472}# #{x\ 3657}# #{r\ 3636}# #{w\ 3637}# #{mod\ 3639}#)) #{fluid\ 3653}#) (map (lambda (#{x\ 3660}#) (#{chi\ 472}# #{x\ 3660}# #{r\ 3636}# #{w\ 3637}# #{mod\ 3639}#)) #{val\ 3654}#) (#{chi-body\ 480}# (cons #{b\ 3655}# #{b*\ 3656}#) (#{source-wrap\ 458}# #{e\ 3635}# #{w\ 3637}# #{s\ 3638}# #{mod\ 3639}#) #{r\ 3636}# #{w\ 3637}# #{mod\ 3639}#))) #{tmp\ 3646}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3645}#)))))) (#{global-extend\ 383}# 'begin 'begin '()) (#{global-extend\ 383}# 'define 'define '()) (#{global-extend\ 383}# 'define-syntax 'define-syntax '()) (#{global-extend\ 383}# 'eval-when 'eval-when '()) (#{global-extend\ 383}# 'core 'syntax-case (letrec* ((#{convert-pattern\ 3665}# (lambda (#{pattern\ 3672}# #{keys\ 3673}#) (letrec* ((#{cvt*\ 3677}# (lambda (#{p*\ 3680}# #{n\ 3681}# #{ids\ 3682}#) (if (null? #{p*\ 3680}#) (values (quote ()) #{ids\ 3682}#) (call-with-values (lambda () (#{cvt*\ 3677}# (cdr #{p*\ 3680}#) #{n\ 3681}# #{ids\ 3682}#)) (lambda (#{y\ 3686}# #{ids\ 3687}#) (call-with-values (lambda () (#{cvt\ 3679}# (car #{p*\ 3680}#) #{n\ 3681}# #{ids\ 3687}#)) (lambda (#{x\ 3690}# #{ids\ 3691}#) (values (cons #{x\ 3690}# #{y\ 3686}#) #{ids\ 3691}#)))))))) (#{cvt\ 3679}# (lambda (#{p\ 3694}# #{n\ 3695}# #{ids\ 3696}#) (if (#{id?\ 387}# #{p\ 3694}#) (if (#{bound-id-member?\ 454}# #{p\ 3694}# #{keys\ 3673}#) (values (vector (quote free-id) #{p\ 3694}#) #{ids\ 3696}#) (values 'any (cons (cons #{p\ 3694}# #{n\ 3695}#) #{ids\ 3696}#))) (let ((#{tmp\ 3700}# #{p\ 3694}#)) (let ((#{tmp\ 3701}# ($sc-dispatch #{tmp\ 3700}# '(any any)))) (if (if #{tmp\ 3701}# (@apply (lambda (#{x\ 3704}# #{dots\ 3705}#) (#{ellipsis?\ 488}# #{dots\ 3705}#)) #{tmp\ 3701}#) #f) (@apply (lambda (#{x\ 3708}# #{dots\ 3709}#) (call-with-values (lambda () (#{cvt\ 3679}# #{x\ 3708}# (#{fx+\ 288}# #{n\ 3695}# 1) #{ids\ 3696}#)) (lambda (#{p\ 3710}# #{ids\ 3711}#) (values (if (eq? #{p\ 3710}# (quote any)) 'each-any (vector 'each #{p\ 3710}#)) #{ids\ 3711}#)))) #{tmp\ 3701}#) (let ((#{tmp\ 3714}# ($sc-dispatch #{tmp\ 3700}# '(any any . each-any)))) (if (if #{tmp\ 3714}# (@apply (lambda (#{x\ 3718}# #{dots\ 3719}# #{ys\ 3720}#) (#{ellipsis?\ 488}# #{dots\ 3719}#)) #{tmp\ 3714}#) #f) (@apply (lambda (#{x\ 3724}# #{dots\ 3725}# #{ys\ 3726}#) (call-with-values (lambda () (#{cvt*\ 3677}# #{ys\ 3726}# #{n\ 3695}# #{ids\ 3696}#)) (lambda (#{ys\ 3728}# #{ids\ 3729}#) (call-with-values (lambda () (#{cvt\ 3679}# #{x\ 3724}# (1+ #{n\ 3695}#) #{ids\ 3729}#)) (lambda (#{x\ 3732}# #{ids\ 3733}#) (values (list->vector (cons 'each+ (cons #{x\ 3732}# (cons (reverse #{ys\ 3728}#) '(()))))) #{ids\ 3733}#)))))) #{tmp\ 3714}#) (let ((#{tmp\ 3737}# ($sc-dispatch #{tmp\ 3700}# '(any . any)))) (if #{tmp\ 3737}# (@apply (lambda (#{x\ 3740}# #{y\ 3741}#) (call-with-values (lambda () (#{cvt\ 3679}# #{y\ 3741}# #{n\ 3695}# #{ids\ 3696}#)) (lambda (#{y\ 3742}# #{ids\ 3743}#) (call-with-values (lambda () (#{cvt\ 3679}# #{x\ 3740}# #{n\ 3695}# #{ids\ 3743}#)) (lambda (#{x\ 3746}# #{ids\ 3747}#) (values (cons #{x\ 3746}# #{y\ 3742}#) #{ids\ 3747}#)))))) #{tmp\ 3737}#) (let ((#{tmp\ 3750}# ($sc-dispatch #{tmp\ 3700}# '()))) (if #{tmp\ 3750}# (@apply (lambda () (values '() #{ids\ 3696}#)) #{tmp\ 3750}#) (let ((#{tmp\ 3751}# ($sc-dispatch #{tmp\ 3700}# '#(vector each-any)))) (if #{tmp\ 3751}# (@apply (lambda (#{x\ 3753}#) (call-with-values (lambda () (#{cvt\ 3679}# #{x\ 3753}# #{n\ 3695}# #{ids\ 3696}#)) (lambda (#{p\ 3755}# #{ids\ 3756}#) (values (vector 'vector #{p\ 3755}#) #{ids\ 3756}#)))) #{tmp\ 3751}#) (let ((#{x\ 3760}# #{tmp\ 3700}#)) (values (vector 'atom (#{strip\ 498}# #{p\ 3694}# '(()))) #{ids\ 3696}#))))))))))))))))) (begin (#{cvt\ 3679}# #{pattern\ 3672}# 0 (quote ())))))) (#{build-dispatch-call\ 3667}# (lambda (#{pvars\ 3762}# #{exp\ 3763}# #{y\ 3764}# #{r\ 3765}# #{mod\ 3766}#) (begin (map cdr #{pvars\ 3762}#) (let ((#{ids\ 3774}# (map car #{pvars\ 3762}#))) (begin (let ((#{labels\ 3778}# (#{gen-labels\ 405}# #{ids\ 3774}#)) (#{new-vars\ 3779}# (map #{gen-var\ 500}# #{ids\ 3774}#))) (#{build-application\ 309}# #f (#{build-primref\ 335}# #f (quote apply)) (list (#{build-simple-lambda\ 329}# #f (map syntax->datum #{ids\ 3774}#) #f #{new-vars\ 3779}# '() (#{chi\ 472}# #{exp\ 3763}# (#{extend-env\ 375}# #{labels\ 3778}# (map (lambda (#{var\ 3783}# #{level\ 3784}#) (cons 'syntax (cons #{var\ 3783}# #{level\ 3784}#))) #{new-vars\ 3779}# (map cdr #{pvars\ 3762}#)) #{r\ 3765}#) (#{make-binding-wrap\ 434}# #{ids\ 3774}# #{labels\ 3778}# '(())) #{mod\ 3766}#)) #{y\ 3764}#)))))))) (#{gen-clause\ 3669}# (lambda (#{x\ 3790}# #{keys\ 3791}# #{clauses\ 3792}# #{r\ 3793}# #{pat\ 3794}# #{fender\ 3795}# #{exp\ 3796}# #{mod\ 3797}#) (call-with-values (lambda () (#{convert-pattern\ 3665}# #{pat\ 3794}# #{keys\ 3791}#)) (lambda (#{p\ 3806}# #{pvars\ 3807}#) (if (not (#{distinct-bound-ids?\ 452}# (map car #{pvars\ 3807}#))) (syntax-violation 'syntax-case "duplicate pattern variable" #{pat\ 3794}#) (if (not (and-map (lambda (#{x\ 3814}#) (not (#{ellipsis?\ 488}# (car #{x\ 3814}#)))) #{pvars\ 3807}#)) (syntax-violation 'syntax-case "misplaced ellipsis" #{pat\ 3794}#) (begin (let ((#{y\ 3818}# (#{gen-var\ 500}# (quote tmp)))) (#{build-application\ 309}# #f (#{build-simple-lambda\ 329}# #f (list (quote tmp)) #f (list #{y\ 3818}#) '() (begin (let ((#{y\ 3822}# (#{build-lexical-reference\ 315}# 'value #f 'tmp #{y\ 3818}#))) (#{build-conditional\ 311}# #f (let ((#{tmp\ 3825}# #{fender\ 3795}#)) (let ((#{tmp\ 3826}# ($sc-dispatch #{tmp\ 3825}# '#(atom #t)))) (if #{tmp\ 3826}# (@apply (lambda () #{y\ 3822}#) #{tmp\ 3826}#) (let ((#{_\ 3828}# #{tmp\ 3825}#)) (#{build-conditional\ 311}# #f #{y\ 3822}# (#{build-dispatch-call\ 3667}# #{pvars\ 3807}# #{fender\ 3795}# #{y\ 3822}# #{r\ 3793}# #{mod\ 3797}#) (#{build-data\ 337}# #f #f)))))) (#{build-dispatch-call\ 3667}# #{pvars\ 3807}# #{exp\ 3796}# #{y\ 3822}# #{r\ 3793}# #{mod\ 3797}#) (#{gen-syntax-case\ 3671}# #{x\ 3790}# #{keys\ 3791}# #{clauses\ 3792}# #{r\ 3793}# #{mod\ 3797}#))))) (list (if (eq? #{p\ 3806}# (quote any)) (#{build-application\ 309}# #f (#{build-primref\ 335}# #f 'list) (list #{x\ 3790}#)) (#{build-application\ 309}# #f (#{build-primref\ 335}# #f '$sc-dispatch) (list #{x\ 3790}# (#{build-data\ 337}# #f #{p\ 3806}#)))))))))))))) (#{gen-syntax-case\ 3671}# (lambda (#{x\ 3836}# #{keys\ 3837}# #{clauses\ 3838}# #{r\ 3839}# #{mod\ 3840}#) (if (null? #{clauses\ 3838}#) (#{build-application\ 309}# #f (#{build-primref\ 335}# #f 'syntax-violation) (list (#{build-data\ 337}# #f #f) (#{build-data\ 337}# #f "source expression failed to match any pattern") #{x\ 3836}#)) (let ((#{tmp\ 3850}# (car #{clauses\ 3838}#))) (let ((#{tmp\ 3851}# ($sc-dispatch #{tmp\ 3850}# '(any any)))) (if #{tmp\ 3851}# (@apply (lambda (#{pat\ 3854}# #{exp\ 3855}#) (if (if (#{id?\ 387}# #{pat\ 3854}#) (and-map (lambda (#{x\ 3858}#) (not (#{free-id=?\ 446}# #{pat\ 3854}# #{x\ 3858}#))) (cons '#(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) #("i3852" "i3853")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) #((top) (top) (top) (top) (top)) #("i3841" "i3842" "i3843" "i3844" "i3845")) #(ribcage (gen-syntax-case gen-clause build-dispatch-call convert-pattern) ((top) (top) (top) (top)) ("i3670" "i3668" "i3666" "i3664")) #(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 maybe-name-value! build-global-assignment build-global-reference analyze-variable build-lexical-assignment build-lexical-reference build-dynlet build-conditional build-application build-void 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)) ("i501" "i499" "i497" "i495" "i493" "i491" "i489" "i487" "i485" "i483" "i481" "i479" "i477" "i475" "i473" "i471" "i469" "i467" "i465" "i463" "i461" "i459" "i457" "i455" "i453" "i451" "i449" "i447" "i445" "i443" "i441" "i439" "i437" "i435" "i433" "i431" "i430" "i429" "i427" "i426" "i425" "i424" "i423" "i421" "i419" "i417" "i415" "i413" "i411" "i409" "i407" "i404" "i402" "i401" "i400" "i399" "i398" "i397" "i395" "i393" "i391" "i389" "i388" "i386" "i384" "i382" "i380" "i378" "i376" "i374" "i373" "i371" "i369" "i368" "i367" "i365" "i364" "i362" "i360" "i358" "i356" "i354" "i352" "i350" "i348" "i346" "i344" "i342" "i340" "i338" "i336" "i334" "i332" "i330" "i328" "i326" "i324" "i322" "i320" "i318" "i316" "i314" "i312" "i310" "i308" "i306" "i304" "i302" "i300" "i299" "i297" "i295" "i293" "i291" "i289" "i287" "i285" "i283" "i281" "i278" "i276" "i274" "i272" "i270" "i268" "i266" "i264" "i262" "i260" "i258" "i256" "i254" "i252" "i250" "i248" "i246" "i244")) #(ribcage (define-structure define-expansion-accessors define-expansion-constructors and-map*) ((top) (top) (top) (top)) ("i38" "i37" "i36" "i34"))) (hygiene guile)) #{keys\ 3837}#)) #f) (begin (let ((#{labels\ 3862}# (list (#{gen-label\ 403}#))) (#{var\ 3863}# (#{gen-var\ 500}# #{pat\ 3854}#))) (#{build-application\ 309}# #f (#{build-simple-lambda\ 329}# #f (list (syntax->datum #{pat\ 3854}#)) #f (list #{var\ 3863}#) '() (#{chi\ 472}# #{exp\ 3855}# (#{extend-env\ 375}# #{labels\ 3862}# (list (cons 'syntax (cons #{var\ 3863}# 0))) #{r\ 3839}#) (#{make-binding-wrap\ 434}# (list #{pat\ 3854}#) #{labels\ 3862}# '(())) #{mod\ 3840}#)) (list #{x\ 3836}#)))) (#{gen-clause\ 3669}# #{x\ 3836}# #{keys\ 3837}# (cdr #{clauses\ 3838}#) #{r\ 3839}# #{pat\ 3854}# #t #{exp\ 3855}# #{mod\ 3840}#))) #{tmp\ 3851}#) (let ((#{tmp\ 3869}# ($sc-dispatch #{tmp\ 3850}# '(any any any)))) (if #{tmp\ 3869}# (@apply (lambda (#{pat\ 3873}# #{fender\ 3874}# #{exp\ 3875}#) (#{gen-clause\ 3669}# #{x\ 3836}# #{keys\ 3837}# (cdr #{clauses\ 3838}#) #{r\ 3839}# #{pat\ 3873}# #{fender\ 3874}# #{exp\ 3875}# #{mod\ 3840}#)) #{tmp\ 3869}#) (let ((#{_\ 3877}# #{tmp\ 3850}#)) (syntax-violation 'syntax-case "invalid clause" (car #{clauses\ 3838}#)))))))))))) (begin (lambda (#{e\ 3878}# #{r\ 3879}# #{w\ 3880}# #{s\ 3881}# #{mod\ 3882}#) (begin (let ((#{e\ 3889}# (#{source-wrap\ 458}# #{e\ 3878}# #{w\ 3880}# #{s\ 3881}# #{mod\ 3882}#))) (let ((#{tmp\ 3890}# #{e\ 3889}#)) (let ((#{tmp\ 3891}# ($sc-dispatch #{tmp\ 3890}# '(any any each-any . each-any)))) (if #{tmp\ 3891}# (@apply (lambda (#{_\ 3896}# #{val\ 3897}# #{key\ 3898}# #{m\ 3899}#) (if (and-map (lambda (#{x\ 3900}#) (if (#{id?\ 387}# #{x\ 3900}#) (not (#{ellipsis?\ 488}# #{x\ 3900}#)) #f)) #{key\ 3898}#) (begin (let ((#{x\ 3906}# (#{gen-var\ 500}# (quote tmp)))) (#{build-application\ 309}# #{s\ 3881}# (#{build-simple-lambda\ 329}# #f (list (quote tmp)) #f (list #{x\ 3906}#) '() (#{gen-syntax-case\ 3671}# (#{build-lexical-reference\ 315}# 'value #f 'tmp #{x\ 3906}#) #{key\ 3898}# #{m\ 3899}# #{r\ 3879}# #{mod\ 3882}#)) (list (#{chi\ 472}# #{val\ 3897}# #{r\ 3879}# '(()) #{mod\ 3882}#))))) (syntax-violation 'syntax-case "invalid literals list" #{e\ 3889}#))) #{tmp\ 3891}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 3890}#)))))))))) (set! macroexpand (lambda* (#{x\ 3912}# #:optional (#{m\ 3914}# (quote e)) (#{esew\ 3916}# (quote (eval)))) (#{chi-top\ 470}# #{x\ 3912}# '() '((top)) #{m\ 3914}# #{esew\ 3916}# (cons 'hygiene (module-name (current-module)))))) (set! identifier? (lambda (#{x\ 3920}#) (#{nonsymbol-id?\ 385}# #{x\ 3920}#))) (set! datum->syntax (lambda (#{id\ 3922}# #{datum\ 3923}#) (#{make-syntax-object\ 349}# #{datum\ 3923}# (#{syntax-object-wrap\ 355}# #{id\ 3922}#) (#{syntax-object-module\ 357}# #{id\ 3922}#)))) (set! syntax->datum (lambda (#{x\ 3926}#) (#{strip\ 498}# #{x\ 3926}# (quote (()))))) (set! syntax-source (lambda (#{x\ 3929}#) (#{source-annotation\ 366}# #{x\ 3929}#))) (set! generate-temporaries (lambda (#{ls\ 3931}#) (begin (begin (let ((#{x\ 3935}# #{ls\ 3931}#)) (if (not (list? #{x\ 3935}#)) (syntax-violation 'generate-temporaries "invalid argument" #{x\ 3935}#)))) (map (lambda (#{x\ 3936}#) (#{wrap\ 456}# (gensym) (quote ((top))) #f)) #{ls\ 3931}#)))) (set! free-identifier=? (lambda (#{x\ 3940}# #{y\ 3941}#) (begin (begin (let ((#{x\ 3946}# #{x\ 3940}#)) (if (not (#{nonsymbol-id?\ 385}# #{x\ 3946}#)) (syntax-violation 'free-identifier=? "invalid argument" #{x\ 3946}#)))) (begin (let ((#{x\ 3949}# #{y\ 3941}#)) (if (not (#{nonsymbol-id?\ 385}# #{x\ 3949}#)) (syntax-violation 'free-identifier=? "invalid argument" #{x\ 3949}#)))) (#{free-id=?\ 446}# #{x\ 3940}# #{y\ 3941}#)))) (set! bound-identifier=? (lambda (#{x\ 3950}# #{y\ 3951}#) (begin (begin (let ((#{x\ 3956}# #{x\ 3950}#)) (if (not (#{nonsymbol-id?\ 385}# #{x\ 3956}#)) (syntax-violation 'bound-identifier=? "invalid argument" #{x\ 3956}#)))) (begin (let ((#{x\ 3959}# #{y\ 3951}#)) (if (not (#{nonsymbol-id?\ 385}# #{x\ 3959}#)) (syntax-violation 'bound-identifier=? "invalid argument" #{x\ 3959}#)))) (#{bound-id=?\ 448}# #{x\ 3950}# #{y\ 3951}#)))) (set! syntax-violation (lambda (#{who\ 3960}# #{message\ 3961}# #{form\ 3962}# . #{subform\ 3963}#) (begin (begin (let ((#{x\ 3970}# #{who\ 3960}#)) (if (not (let ((#{x\ 3971}# #{x\ 3970}#)) (begin (let ((#{t\ 3975}# (not #{x\ 3971}#))) (if #{t\ 3975}# #{t\ 3975}# (begin (let ((#{t\ 3978}# (string? #{x\ 3971}#))) (if #{t\ 3978}# #{t\ 3978}# (symbol? #{x\ 3971}#))))))))) (syntax-violation 'syntax-violation "invalid argument" #{x\ 3970}#)))) (begin (let ((#{x\ 3982}# #{message\ 3961}#)) (if (not (string? #{x\ 3982}#)) (syntax-violation 'syntax-violation "invalid argument" #{x\ 3982}#)))) (scm-error 'syntax-error 'macroexpand (string-append (if #{who\ 3960}# "~a: " "") "~a " (if (null? #{subform\ 3963}#) "in ~a" "in subform `~s' of `~s'")) (begin (let ((#{tail\ 3984}# (cons #{message\ 3961}# (map (lambda (#{x\ 3985}#) (#{strip\ 498}# #{x\ 3985}# '(()))) (append #{subform\ 3963}# (list #{form\ 3962}#)))))) (if #{who\ 3960}# (cons #{who\ 3960}# #{tail\ 3984}#) #{tail\ 3984}#))) #f)))) (letrec* ((#{match-each\ 3989}# (lambda (#{e\ 4002}# #{p\ 4003}# #{w\ 4004}# #{mod\ 4005}#) (if (pair? #{e\ 4002}#) (begin (let ((#{first\ 4013}# (#{match\ 4001}# (car #{e\ 4002}#) #{p\ 4003}# #{w\ 4004}# '() #{mod\ 4005}#))) (if #{first\ 4013}# (begin (let ((#{rest\ 4017}# (#{match-each\ 3989}# (cdr #{e\ 4002}#) #{p\ 4003}# #{w\ 4004}# #{mod\ 4005}#))) (if #{rest\ 4017}# (cons #{first\ 4013}# #{rest\ 4017}#) #f))) #f))) (if (null? #{e\ 4002}#) '() (if (#{syntax-object?\ 351}# #{e\ 4002}#) (#{match-each\ 3989}# (#{syntax-object-expression\ 353}# #{e\ 4002}#) #{p\ 4003}# (#{join-wraps\ 438}# #{w\ 4004}# (#{syntax-object-wrap\ 355}# #{e\ 4002}#)) (#{syntax-object-module\ 357}# #{e\ 4002}#)) #f))))) (#{match-each+\ 3991}# (lambda (#{e\ 4025}# #{x-pat\ 4026}# #{y-pat\ 4027}# #{z-pat\ 4028}# #{w\ 4029}# #{r\ 4030}# #{mod\ 4031}#) (letrec* ((#{f\ 4042}# (lambda (#{e\ 4043}# #{w\ 4044}#) (if (pair? #{e\ 4043}#) (call-with-values (lambda () (#{f\ 4042}# (cdr #{e\ 4043}#) #{w\ 4044}#)) (lambda (#{xr*\ 4047}# #{y-pat\ 4048}# #{r\ 4049}#) (if #{r\ 4049}# (if (null? #{y-pat\ 4048}#) (begin (let ((#{xr\ 4054}# (#{match\ 4001}# (car #{e\ 4043}#) #{x-pat\ 4026}# #{w\ 4044}# '() #{mod\ 4031}#))) (if #{xr\ 4054}# (values (cons #{xr\ 4054}# #{xr*\ 4047}#) #{y-pat\ 4048}# #{r\ 4049}#) (values #f #f #f)))) (values '() (cdr #{y-pat\ 4048}#) (#{match\ 4001}# (car #{e\ 4043}#) (car #{y-pat\ 4048}#) #{w\ 4044}# #{r\ 4049}# #{mod\ 4031}#))) (values #f #f #f)))) (if (#{syntax-object?\ 351}# #{e\ 4043}#) (#{f\ 4042}# (#{syntax-object-expression\ 353}# #{e\ 4043}#) (#{join-wraps\ 438}# #{w\ 4044}# #{e\ 4043}#)) (values '() #{y-pat\ 4027}# (#{match\ 4001}# #{e\ 4043}# #{z-pat\ 4028}# #{w\ 4044}# #{r\ 4030}# #{mod\ 4031}#))))))) (begin (#{f\ 4042}# #{e\ 4025}# #{w\ 4029}#))))) (#{match-each-any\ 3993}# (lambda (#{e\ 4058}# #{w\ 4059}# #{mod\ 4060}#) (if (pair? #{e\ 4058}#) (begin (let ((#{l\ 4067}# (#{match-each-any\ 3993}# (cdr #{e\ 4058}#) #{w\ 4059}# #{mod\ 4060}#))) (if #{l\ 4067}# (cons (#{wrap\ 456}# (car #{e\ 4058}#) #{w\ 4059}# #{mod\ 4060}#) #{l\ 4067}#) #f))) (if (null? #{e\ 4058}#) '() (if (#{syntax-object?\ 351}# #{e\ 4058}#) (#{match-each-any\ 3993}# (#{syntax-object-expression\ 353}# #{e\ 4058}#) (#{join-wraps\ 438}# #{w\ 4059}# (#{syntax-object-wrap\ 355}# #{e\ 4058}#)) #{mod\ 4060}#) #f))))) (#{match-empty\ 3995}# (lambda (#{p\ 4075}# #{r\ 4076}#) (if (null? #{p\ 4075}#) #{r\ 4076}# (if (eq? #{p\ 4075}# (quote any)) (cons (quote ()) #{r\ 4076}#) (if (pair? #{p\ 4075}#) (#{match-empty\ 3995}# (car #{p\ 4075}#) (#{match-empty\ 3995}# (cdr #{p\ 4075}#) #{r\ 4076}#)) (if (eq? #{p\ 4075}# (quote each-any)) (cons (quote ()) #{r\ 4076}#) (begin (let ((#{atom-key\ 4090}# (vector-ref #{p\ 4075}# 0))) (if (eqv? #{atom-key\ 4090}# (quote each)) (#{match-empty\ 3995}# (vector-ref #{p\ 4075}# 1) #{r\ 4076}#) (if (eqv? #{atom-key\ 4090}# (quote each+)) (#{match-empty\ 3995}# (vector-ref #{p\ 4075}# 1) (#{match-empty\ 3995}# (reverse (vector-ref #{p\ 4075}# 2)) (#{match-empty\ 3995}# (vector-ref #{p\ 4075}# 3) #{r\ 4076}#))) (if (if (eqv? #{atom-key\ 4090}# 'free-id) #t (eqv? #{atom-key\ 4090}# 'atom)) #{r\ 4076}# (if (eqv? #{atom-key\ 4090}# 'vector) (#{match-empty\ 3995}# (vector-ref #{p\ 4075}# 1) #{r\ 4076}#))))))))))))) (#{combine\ 3997}# (lambda (#{r*\ 4095}# #{r\ 4096}#) (if (null? (car #{r*\ 4095}#)) #{r\ 4096}# (cons (map car #{r*\ 4095}#) (#{combine\ 3997}# (map cdr #{r*\ 4095}#) #{r\ 4096}#))))) (#{match*\ 3999}# (lambda (#{e\ 4099}# #{p\ 4100}# #{w\ 4101}# #{r\ 4102}# #{mod\ 4103}#) (if (null? #{p\ 4100}#) (if (null? #{e\ 4099}#) #{r\ 4102}# #f) (if (pair? #{p\ 4100}#) (if (pair? #{e\ 4099}#) (#{match\ 4001}# (car #{e\ 4099}#) (car #{p\ 4100}#) #{w\ 4101}# (#{match\ 4001}# (cdr #{e\ 4099}#) (cdr #{p\ 4100}#) #{w\ 4101}# #{r\ 4102}# #{mod\ 4103}#) #{mod\ 4103}#) #f) (if (eq? #{p\ 4100}# (quote each-any)) (begin (let ((#{l\ 4120}# (#{match-each-any\ 3993}# #{e\ 4099}# #{w\ 4101}# #{mod\ 4103}#))) (if #{l\ 4120}# (cons #{l\ 4120}# #{r\ 4102}#) #f))) (begin (let ((#{atom-key\ 4126}# (vector-ref #{p\ 4100}# 0))) (if (eqv? #{atom-key\ 4126}# (quote each)) (if (null? #{e\ 4099}#) (#{match-empty\ 3995}# (vector-ref #{p\ 4100}# 1) #{r\ 4102}#) (begin (let ((#{l\ 4129}# (#{match-each\ 3989}# #{e\ 4099}# (vector-ref #{p\ 4100}# 1) #{w\ 4101}# #{mod\ 4103}#))) (if #{l\ 4129}# (letrec* ((#{collect\ 4134}# (lambda (#{l\ 4135}#) (if (null? (car #{l\ 4135}#)) #{r\ 4102}# (cons (map car #{l\ 4135}#) (#{collect\ 4134}# (map cdr #{l\ 4135}#))))))) (begin (#{collect\ 4134}# #{l\ 4129}#))) #f)))) (if (eqv? #{atom-key\ 4126}# (quote each+)) (call-with-values (lambda () (#{match-each+\ 3991}# #{e\ 4099}# (vector-ref #{p\ 4100}# 1) (vector-ref #{p\ 4100}# 2) (vector-ref #{p\ 4100}# 3) #{w\ 4101}# #{r\ 4102}# #{mod\ 4103}#)) (lambda (#{xr*\ 4137}# #{y-pat\ 4138}# #{r\ 4139}#) (if #{r\ 4139}# (if (null? #{y-pat\ 4138}#) (if (null? #{xr*\ 4137}#) (#{match-empty\ 3995}# (vector-ref #{p\ 4100}# 1) #{r\ 4139}#) (#{combine\ 3997}# #{xr*\ 4137}# #{r\ 4139}#)) #f) #f))) (if (eqv? #{atom-key\ 4126}# (quote free-id)) (if (#{id?\ 387}# #{e\ 4099}#) (if (#{free-id=?\ 446}# (#{wrap\ 456}# #{e\ 4099}# #{w\ 4101}# #{mod\ 4103}#) (vector-ref #{p\ 4100}# 1)) #{r\ 4102}# #f) #f) (if (eqv? #{atom-key\ 4126}# (quote atom)) (if (equal? (vector-ref #{p\ 4100}# 1) (#{strip\ 498}# #{e\ 4099}# #{w\ 4101}#)) #{r\ 4102}# #f) (if (eqv? #{atom-key\ 4126}# 'vector) (if (vector? #{e\ 4099}#) (#{match\ 4001}# (vector->list #{e\ 4099}#) (vector-ref #{p\ 4100}# 1) #{w\ 4101}# #{r\ 4102}# #{mod\ 4103}#) #f))))))))))))) (#{match\ 4001}# (lambda (#{e\ 4156}# #{p\ 4157}# #{w\ 4158}# #{r\ 4159}# #{mod\ 4160}#) (if (not #{r\ 4159}#) #f (if (eq? #{p\ 4157}# (quote any)) (cons (#{wrap\ 456}# #{e\ 4156}# #{w\ 4158}# #{mod\ 4160}#) #{r\ 4159}#) (if (#{syntax-object?\ 351}# #{e\ 4156}#) (#{match*\ 3999}# (#{syntax-object-expression\ 353}# #{e\ 4156}#) #{p\ 4157}# (#{join-wraps\ 438}# #{w\ 4158}# (#{syntax-object-wrap\ 355}# #{e\ 4156}#)) #{r\ 4159}# (#{syntax-object-module\ 357}# #{e\ 4156}#)) (#{match*\ 3999}# #{e\ 4156}# #{p\ 4157}# #{w\ 4158}# #{r\ 4159}# #{mod\ 4160}#))))))) (begin (set! $sc-dispatch (lambda (#{e\ 4173}# #{p\ 4174}#) (if (eq? #{p\ 4174}# (quote any)) (list #{e\ 4173}#) (if (#{syntax-object?\ 351}# #{e\ 4173}#) (#{match*\ 3999}# (#{syntax-object-expression\ 353}# #{e\ 4173}#) #{p\ 4174}# (#{syntax-object-wrap\ 355}# #{e\ 4173}#) '() (#{syntax-object-module\ 357}# #{e\ 4173}#)) (#{match*\ 3999}# #{e\ 4173}# #{p\ 4174}# '(()) '() #f))))))))))))) (define with-syntax (make-syntax-transformer 'with-syntax 'macro (lambda (#{x\ 4183}#) (let ((#{tmp\ 4185}# #{x\ 4183}#)) (let ((#{tmp\ 4186}# ($sc-dispatch #{tmp\ 4185}# '(any () any . each-any)))) (if #{tmp\ 4186}# (@apply (lambda (#{_\ 4190}# #{e1\ 4191}# #{e2\ 4192}#) (cons '#(syntax-object begin ((top) #(ribcage #(_ e1 e2) #((top) (top) (top)) #("i4187" "i4188" "i4189")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4184"))) (hygiene guile)) (cons #{e1\ 4191}# #{e2\ 4192}#))) #{tmp\ 4186}#) (let ((#{tmp\ 4194}# ($sc-dispatch #{tmp\ 4185}# '(any ((any any)) any . each-any)))) (if #{tmp\ 4194}# (@apply (lambda (#{_\ 4200}# #{out\ 4201}# #{in\ 4202}# #{e1\ 4203}# #{e2\ 4204}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i4195" "i4196" "i4197" "i4198" "i4199")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4184"))) (hygiene guile)) #{in\ 4202}# '() (list #{out\ 4201}# (cons '#(syntax-object begin ((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i4195" "i4196" "i4197" "i4198" "i4199")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4184"))) (hygiene guile)) (cons #{e1\ 4203}# #{e2\ 4204}#))))) #{tmp\ 4194}#) (let ((#{tmp\ 4206}# ($sc-dispatch #{tmp\ 4185}# '(any #(each (any any)) any . each-any)))) (if #{tmp\ 4206}# (@apply (lambda (#{_\ 4212}# #{out\ 4213}# #{in\ 4214}# #{e1\ 4215}# #{e2\ 4216}#) (list '#(syntax-object syntax-case ((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i4207" "i4208" "i4209" "i4210" "i4211")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4184"))) (hygiene guile)) (cons '#(syntax-object list ((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i4207" "i4208" "i4209" "i4210" "i4211")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4184"))) (hygiene guile)) #{in\ 4214}#) '() (list #{out\ 4213}# (cons '#(syntax-object begin ((top) #(ribcage #(_ out in e1 e2) #((top) (top) (top) (top) (top)) #("i4207" "i4208" "i4209" "i4210" "i4211")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4184"))) (hygiene guile)) (cons #{e1\ 4215}# #{e2\ 4216}#))))) #{tmp\ 4206}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4185}#))))))))))) (define syntax-rules (make-syntax-transformer 'syntax-rules 'macro (lambda (#{x\ 4220}#) (let ((#{tmp\ 4222}# #{x\ 4220}#)) (let ((#{tmp\ 4223}# ($sc-dispatch #{tmp\ 4222}# '(any each-any . #(each ((any . any) any)))))) (if #{tmp\ 4223}# (@apply (lambda (#{_\ 4229}# #{k\ 4230}# #{keyword\ 4231}# #{pattern\ 4232}# #{template\ 4233}#) (list '#(syntax-object lambda ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile))) (vector '(#(syntax-object macro-type ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile)) . #(syntax-object syntax-rules ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile))) (cons '#(syntax-object patterns ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile)) #{pattern\ 4232}#)) (cons '#(syntax-object syntax-case ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile)) (cons '#(syntax-object x ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile)) (cons #{k\ 4230}# (map (lambda (#{tmp\ 4237}# #{tmp\ 4236}#) (list (cons '#(syntax-object dummy ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile)) #{tmp\ 4236}#) (list '#(syntax-object syntax ((top) #(ribcage #(_ k keyword pattern template) #((top) (top) (top) (top) (top)) #("i4224" "i4225" "i4226" "i4227" "i4228")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4221"))) (hygiene guile)) #{tmp\ 4237}#))) #{template\ 4233}# #{pattern\ 4232}#)))))) #{tmp\ 4223}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4222}#))))))) (define let* (make-syntax-transformer 'let* 'macro (lambda (#{x\ 4238}#) (let ((#{tmp\ 4240}# #{x\ 4238}#)) (let ((#{tmp\ 4241}# ($sc-dispatch #{tmp\ 4240}# '(any #(each (any any)) any . each-any)))) (if (if #{tmp\ 4241}# (@apply (lambda (#{let*\ 4247}# #{x\ 4248}# #{v\ 4249}# #{e1\ 4250}# #{e2\ 4251}#) (and-map identifier? #{x\ 4248}#)) #{tmp\ 4241}#) #f) (@apply (lambda (#{let*\ 4258}# #{x\ 4259}# #{v\ 4260}# #{e1\ 4261}# #{e2\ 4262}#) (letrec* ((#{f\ 4265}# (lambda (#{bindings\ 4266}#) (if (null? #{bindings\ 4266}#) (cons '#(syntax-object let ((top) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) #("i4263" "i4264")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) #("i4253" "i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4239"))) (hygiene guile)) (cons '() (cons #{e1\ 4261}# #{e2\ 4262}#))) (let ((#{tmp\ 4271}# (list (#{f\ 4265}# (cdr #{bindings\ 4266}#)) (car #{bindings\ 4266}#)))) (let ((#{tmp\ 4272}# ($sc-dispatch #{tmp\ 4271}# '(any any)))) (if #{tmp\ 4272}# (@apply (lambda (#{body\ 4275}# #{binding\ 4276}#) (list '#(syntax-object let ((top) #(ribcage #(body binding) #((top) (top)) #("i4273" "i4274")) #(ribcage () () ()) #(ribcage #(f bindings) #((top) (top)) #("i4263" "i4264")) #(ribcage #(let* x v e1 e2) #((top) (top) (top) (top) (top)) #("i4253" "i4254" "i4255" "i4256" "i4257")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4239"))) (hygiene guile)) (list #{binding\ 4276}#) #{body\ 4275}#)) #{tmp\ 4272}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4271}#)))))))) (begin (#{f\ 4265}# (map list #{x\ 4259}# #{v\ 4260}#))))) #{tmp\ 4241}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4240}#))))))) (define do (make-syntax-transformer 'do 'macro (lambda (#{orig-x\ 4277}#) (let ((#{tmp\ 4279}# #{orig-x\ 4277}#)) (let ((#{tmp\ 4280}# ($sc-dispatch #{tmp\ 4279}# '(any #(each (any any . any)) (any . each-any) . each-any)))) (if #{tmp\ 4280}# (@apply (lambda (#{_\ 4288}# #{var\ 4289}# #{init\ 4290}# #{step\ 4291}# #{e0\ 4292}# #{e1\ 4293}# #{c\ 4294}#) (let ((#{tmp\ 4296}# (map (lambda (#{v\ 4317}# #{s\ 4318}#) (let ((#{tmp\ 4321}# #{s\ 4318}#)) (let ((#{tmp\ 4322}# ($sc-dispatch #{tmp\ 4321}# '()))) (if #{tmp\ 4322}# (@apply (lambda () #{v\ 4317}#) #{tmp\ 4322}#) (let ((#{tmp\ 4323}# ($sc-dispatch #{tmp\ 4321}# '(any)))) (if #{tmp\ 4323}# (@apply (lambda (#{e\ 4325}#) #{e\ 4325}#) #{tmp\ 4323}#) (let ((#{_\ 4327}# #{tmp\ 4321}#)) (syntax-violation 'do "bad step expression" #{orig-x\ 4277}# #{s\ 4318}#)))))))) #{var\ 4289}# #{step\ 4291}#))) (let ((#{tmp\ 4297}# ($sc-dispatch #{tmp\ 4296}# (quote each-any)))) (if #{tmp\ 4297}# (@apply (lambda (#{step\ 4299}#) (let ((#{tmp\ 4300}# #{e1\ 4293}#)) (let ((#{tmp\ 4301}# ($sc-dispatch #{tmp\ 4300}# (quote ())))) (if #{tmp\ 4301}# (@apply (lambda () (list '#(syntax-object let ((top) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) '#(syntax-object doloop ((top) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) (map list #{var\ 4289}# #{init\ 4290}#) (list '#(syntax-object if ((top) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) (list '#(syntax-object not ((top) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) #{e0\ 4292}#) (cons '#(syntax-object begin ((top) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) (append #{c\ 4294}# (list (cons '#(syntax-object doloop ((top) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) #{step\ 4299}#))))))) #{tmp\ 4301}#) (let ((#{tmp\ 4306}# ($sc-dispatch #{tmp\ 4300}# '(any . each-any)))) (if #{tmp\ 4306}# (@apply (lambda (#{e1\ 4309}# #{e2\ 4310}#) (list '#(syntax-object let ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4307" "i4308")) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) '#(syntax-object doloop ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4307" "i4308")) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) (map list #{var\ 4289}# #{init\ 4290}#) (list '#(syntax-object if ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4307" "i4308")) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) #{e0\ 4292}# (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4307" "i4308")) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) (cons #{e1\ 4309}# #{e2\ 4310}#)) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4307" "i4308")) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) (append #{c\ 4294}# (list (cons '#(syntax-object doloop ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4307" "i4308")) #(ribcage #(step) #((top)) #("i4298")) #(ribcage #(_ var init step e0 e1 c) #((top) (top) (top) (top) (top) (top) (top)) #("i4281" "i4282" "i4283" "i4284" "i4285" "i4286" "i4287")) #(ribcage () () ()) #(ribcage #(orig-x) #((top)) #("i4278"))) (hygiene guile)) #{step\ 4299}#))))))) #{tmp\ 4306}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4300}#))))))) #{tmp\ 4297}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4296}#))))) #{tmp\ 4280}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4279}#))))))) (define quasiquote (make-syntax-transformer 'quasiquote 'macro (letrec* ((#{quasicons\ 4334}# (lambda (#{x\ 4338}# #{y\ 4339}#) (let ((#{tmp\ 4343}# (list #{x\ 4338}# #{y\ 4339}#))) (let ((#{tmp\ 4344}# ($sc-dispatch #{tmp\ 4343}# (quote (any any))))) (if #{tmp\ 4344}# (@apply (lambda (#{x\ 4347}# #{y\ 4348}#) (let ((#{tmp\ 4349}# #{y\ 4348}#)) (let ((#{tmp\ 4350}# ($sc-dispatch #{tmp\ 4349}# '(#(free-id #(syntax-object quote ((top) #(ribcage #(x y) #((top) (top)) #("i4345" "i4346")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4340" "i4341")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) any)))) (if #{tmp\ 4350}# (@apply (lambda (#{dy\ 4352}#) (let ((#{tmp\ 4353}# #{x\ 4347}#)) (let ((#{tmp\ 4354}# ($sc-dispatch #{tmp\ 4353}# '(#(free-id #(syntax-object quote ((top) #(ribcage #(dy) #((top)) #("i4351")) #(ribcage #(x y) #((top) (top)) #("i4345" "i4346")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4340" "i4341")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) any)))) (if #{tmp\ 4354}# (@apply (lambda (#{dx\ 4356}#) (list '#(syntax-object quote ((top) #(ribcage #(dx) #((top)) #("i4355")) #(ribcage #(dy) #((top)) #("i4351")) #(ribcage #(x y) #((top) (top)) #("i4345" "i4346")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4340" "i4341")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) (cons #{dx\ 4356}# #{dy\ 4352}#))) #{tmp\ 4354}#) (let ((#{_\ 4358}# #{tmp\ 4353}#)) (if (null? #{dy\ 4352}#) (list '#(syntax-object list ((top) #(ribcage #(_) #((top)) #("i4357")) #(ribcage #(dy) #((top)) #("i4351")) #(ribcage #(x y) #((top) (top)) #("i4345" "i4346")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4340" "i4341")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{x\ 4347}#) (list '#(syntax-object cons ((top) #(ribcage #(_) #((top)) #("i4357")) #(ribcage #(dy) #((top)) #("i4351")) #(ribcage #(x y) #((top) (top)) #("i4345" "i4346")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4340" "i4341")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{x\ 4347}# #{y\ 4348}#))))))) #{tmp\ 4350}#) (let ((#{tmp\ 4359}# ($sc-dispatch #{tmp\ 4349}# '(#(free-id #(syntax-object list ((top) #(ribcage #(x y) #((top) (top)) #("i4345" "i4346")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4340" "i4341")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) . any)))) (if #{tmp\ 4359}# (@apply (lambda (#{stuff\ 4361}#) (cons '#(syntax-object list ((top) #(ribcage #(stuff) #((top)) #("i4360")) #(ribcage #(x y) #((top) (top)) #("i4345" "i4346")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4340" "i4341")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) (cons #{x\ 4347}# #{stuff\ 4361}#))) #{tmp\ 4359}#) (let ((#{else\ 4363}# #{tmp\ 4349}#)) (list '#(syntax-object cons ((top) #(ribcage #(else) #((top)) #("i4362")) #(ribcage #(x y) #((top) (top)) #("i4345" "i4346")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4340" "i4341")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{x\ 4347}# #{y\ 4348}#)))))))) #{tmp\ 4344}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4343}#)))))) (#{quasiappend\ 4335}# (lambda (#{x\ 4364}# #{y\ 4365}#) (let ((#{tmp\ 4369}# (list #{x\ 4364}# #{y\ 4365}#))) (let ((#{tmp\ 4370}# ($sc-dispatch #{tmp\ 4369}# (quote (any any))))) (if #{tmp\ 4370}# (@apply (lambda (#{x\ 4373}# #{y\ 4374}#) (let ((#{tmp\ 4375}# #{y\ 4374}#)) (let ((#{tmp\ 4376}# ($sc-dispatch #{tmp\ 4375}# '(#(free-id #(syntax-object quote ((top) #(ribcage #(x y) #((top) (top)) #("i4371" "i4372")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4366" "i4367")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) ())))) (if #{tmp\ 4376}# (@apply (lambda () #{x\ 4373}#) #{tmp\ 4376}#) (let ((#{_\ 4378}# #{tmp\ 4375}#)) (list '#(syntax-object append ((top) #(ribcage #(_) #((top)) #("i4377")) #(ribcage #(x y) #((top) (top)) #("i4371" "i4372")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x y) #((top) (top)) #("i4366" "i4367")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{x\ 4373}# #{y\ 4374}#)))))) #{tmp\ 4370}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4369}#)))))) (#{quasivector\ 4336}# (lambda (#{x\ 4379}#) (let ((#{tmp\ 4382}# #{x\ 4379}#)) (let ((#{x\ 4384}# #{tmp\ 4382}#)) (let ((#{tmp\ 4385}# #{x\ 4384}#)) (let ((#{tmp\ 4386}# ($sc-dispatch #{tmp\ 4385}# '(#(free-id #(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i4383")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4380")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) each-any)))) (if #{tmp\ 4386}# (@apply (lambda (#{x\ 4388}#) (list '#(syntax-object quote ((top) #(ribcage #(x) #((top)) #("i4387")) #(ribcage #(x) #((top)) #("i4383")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4380")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) (list->vector #{x\ 4388}#))) #{tmp\ 4386}#) (let ((#{tmp\ 4390}# ($sc-dispatch #{tmp\ 4385}# '(#(free-id #(syntax-object list ((top) #(ribcage #(x) #((top)) #("i4383")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4380")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) . each-any)))) (if #{tmp\ 4390}# (@apply (lambda (#{x\ 4392}#) (cons '#(syntax-object vector ((top) #(ribcage #(x) #((top)) #("i4391")) #(ribcage #(x) #((top)) #("i4383")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4380")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{x\ 4392}#)) #{tmp\ 4390}#) (let ((#{_\ 4395}# #{tmp\ 4385}#)) (list '#(syntax-object list->vector ((top) #(ribcage #(_) #((top)) #("i4394")) #(ribcage #(x) #((top)) #("i4383")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4380")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{x\ 4384}#))))))))))) (#{quasi\ 4337}# (lambda (#{p\ 4396}# #{lev\ 4397}#) (let ((#{tmp\ 4400}# #{p\ 4396}#)) (let ((#{tmp\ 4401}# ($sc-dispatch #{tmp\ 4400}# '(#(free-id #(syntax-object unquote ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) any)))) (if #{tmp\ 4401}# (@apply (lambda (#{p\ 4403}#) (if (= #{lev\ 4397}# 0) #{p\ 4403}# (#{quasicons\ 4334}# '(#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i4402")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #(syntax-object unquote ((top) #(ribcage #(p) #((top)) #("i4402")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) (#{quasi\ 4337}# (list #{p\ 4403}#) (1- #{lev\ 4397}#))))) #{tmp\ 4401}#) (let ((#{tmp\ 4404}# ($sc-dispatch #{tmp\ 4400}# '(#(free-id #(syntax-object unquote ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) . any)))) (if (if #{tmp\ 4404}# (@apply (lambda (#{args\ 4406}#) (= #{lev\ 4397}# 0)) #{tmp\ 4404}#) #f) (@apply (lambda (#{args\ 4408}#) (syntax-violation 'unquote "unquote takes exactly one argument" #{p\ 4396}# (cons '#(syntax-object unquote ((top) #(ribcage #(args) #((top)) #("i4407")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{args\ 4408}#))) #{tmp\ 4404}#) (let ((#{tmp\ 4409}# ($sc-dispatch #{tmp\ 4400}# '((#(free-id #(syntax-object unquote-splicing ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) any) . any)))) (if #{tmp\ 4409}# (@apply (lambda (#{p\ 4412}# #{q\ 4413}#) (if (= #{lev\ 4397}# 0) (#{quasiappend\ 4335}# #{p\ 4412}# (#{quasi\ 4337}# #{q\ 4413}# #{lev\ 4397}#)) (#{quasicons\ 4334}# (#{quasicons\ 4334}# '(#(syntax-object quote ((top) #(ribcage #(p q) #((top) (top)) #("i4410" "i4411")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #(syntax-object unquote-splicing ((top) #(ribcage #(p q) #((top) (top)) #("i4410" "i4411")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) (#{quasi\ 4337}# (list #{p\ 4412}#) (1- #{lev\ 4397}#))) (#{quasi\ 4337}# #{q\ 4413}# #{lev\ 4397}#)))) #{tmp\ 4409}#) (let ((#{tmp\ 4414}# ($sc-dispatch #{tmp\ 4400}# '((#(free-id #(syntax-object unquote-splicing ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) . any) . any)))) (if (if #{tmp\ 4414}# (@apply (lambda (#{args\ 4417}# #{q\ 4418}#) (= #{lev\ 4397}# 0)) #{tmp\ 4414}#) #f) (@apply (lambda (#{args\ 4421}# #{q\ 4422}#) (syntax-violation 'unquote-splicing "unquote-splicing takes exactly one argument" #{p\ 4396}# (cons '#(syntax-object unquote-splicing ((top) #(ribcage #(args q) #((top) (top)) #("i4419" "i4420")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{args\ 4421}#))) #{tmp\ 4414}#) (let ((#{tmp\ 4423}# ($sc-dispatch #{tmp\ 4400}# '(#(free-id #(syntax-object quasiquote ((top) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) any)))) (if #{tmp\ 4423}# (@apply (lambda (#{p\ 4425}#) (#{quasicons\ 4334}# '(#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i4424")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #(syntax-object quasiquote ((top) #(ribcage #(p) #((top)) #("i4424")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile))) (#{quasi\ 4337}# (list #{p\ 4425}#) (1+ #{lev\ 4397}#)))) #{tmp\ 4423}#) (let ((#{tmp\ 4426}# ($sc-dispatch #{tmp\ 4400}# '(any . any)))) (if #{tmp\ 4426}# (@apply (lambda (#{p\ 4429}# #{q\ 4430}#) (#{quasicons\ 4334}# (#{quasi\ 4337}# #{p\ 4429}# #{lev\ 4397}#) (#{quasi\ 4337}# #{q\ 4430}# #{lev\ 4397}#))) #{tmp\ 4426}#) (let ((#{tmp\ 4431}# ($sc-dispatch #{tmp\ 4400}# '#(vector each-any)))) (if #{tmp\ 4431}# (@apply (lambda (#{x\ 4433}#) (#{quasivector\ 4336}# (#{quasi\ 4337}# #{x\ 4433}# #{lev\ 4397}#))) #{tmp\ 4431}#) (let ((#{p\ 4436}# #{tmp\ 4400}#)) (list '#(syntax-object quote ((top) #(ribcage #(p) #((top)) #("i4435")) #(ribcage () () ()) #(ribcage #(p lev) #((top) (top)) #("i4398" "i4399")) #(ribcage #(quasicons quasiappend quasivector quasi) #((top) (top) (top) (top)) #("i4330" "i4331" "i4332" "i4333"))) (hygiene guile)) #{p\ 4436}#)))))))))))))))))))) (begin (lambda (#{x\ 4437}#) (let ((#{tmp\ 4439}# #{x\ 4437}#)) (let ((#{tmp\ 4440}# ($sc-dispatch #{tmp\ 4439}# (quote (any any))))) (if #{tmp\ 4440}# (@apply (lambda (#{_\ 4443}# #{e\ 4444}#) (#{quasi\ 4337}# #{e\ 4444}# 0)) #{tmp\ 4440}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4439}#))))))))) (define include (make-syntax-transformer 'include 'macro (lambda (#{x\ 4445}#) (letrec* ((#{read-file\ 4448}# (lambda (#{fn\ 4449}# #{k\ 4450}#) (begin (let ((#{p\ 4454}# (open-input-file #{fn\ 4449}#))) (letrec* ((#{f\ 4458}# (lambda (#{x\ 4459}# #{result\ 4460}#) (if (eof-object? #{x\ 4459}#) (begin (close-input-port #{p\ 4454}#) (reverse #{result\ 4460}#)) (#{f\ 4458}# (read #{p\ 4454}#) (cons (datum->syntax #{k\ 4450}# #{x\ 4459}#) #{result\ 4460}#)))))) (begin (#{f\ 4458}# (read #{p\ 4454}#) (quote ()))))))))) (begin (let ((#{tmp\ 4461}# #{x\ 4445}#)) (let ((#{tmp\ 4462}# ($sc-dispatch #{tmp\ 4461}# (quote (any any))))) (if #{tmp\ 4462}# (@apply (lambda (#{k\ 4465}# #{filename\ 4466}#) (begin (let ((#{fn\ 4468}# (syntax->datum #{filename\ 4466}#))) (let ((#{tmp\ 4470}# (#{read-file\ 4448}# #{fn\ 4468}# #{filename\ 4466}#))) (let ((#{tmp\ 4471}# ($sc-dispatch #{tmp\ 4470}# 'each-any))) (if #{tmp\ 4471}# (@apply (lambda (#{exp\ 4473}#) (cons '#(syntax-object begin ((top) #(ribcage #(exp) #((top)) #("i4472")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i4467")) #(ribcage #(k filename) #((top) (top)) #("i4463" "i4464")) #(ribcage (read-file) ((top)) ("i4447")) #(ribcage #(x) #((top)) #("i4446"))) (hygiene guile)) #{exp\ 4473}#)) #{tmp\ 4471}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4470}#))))))) #{tmp\ 4462}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4461}#))))))))) (define include-from-path (make-syntax-transformer 'include-from-path 'macro (lambda (#{x\ 4475}#) (let ((#{tmp\ 4477}# #{x\ 4475}#)) (let ((#{tmp\ 4478}# ($sc-dispatch #{tmp\ 4477}# (quote (any any))))) (if #{tmp\ 4478}# (@apply (lambda (#{k\ 4481}# #{filename\ 4482}#) (begin (let ((#{fn\ 4484}# (syntax->datum #{filename\ 4482}#))) (let ((#{tmp\ 4486}# (datum->syntax #{filename\ 4482}# (begin (let ((#{t\ 4491}# (%search-load-path #{fn\ 4484}#))) (if #{t\ 4491}# #{t\ 4491}# (syntax-violation 'include-from-path "file not found in path" #{x\ 4475}# #{filename\ 4482}#))))))) (let ((#{fn\ 4488}# #{tmp\ 4486}#)) (list '#(syntax-object include ((top) #(ribcage #(fn) #((top)) #("i4487")) #(ribcage () () ()) #(ribcage () () ()) #(ribcage #(fn) #((top)) #("i4483")) #(ribcage #(k filename) #((top) (top)) #("i4479" "i4480")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4476"))) (hygiene guile)) #{fn\ 4488}#)))))) #{tmp\ 4478}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4477}#))))))) (define unquote (make-syntax-transformer 'unquote 'macro (lambda (#{x\ 4493}#) (let ((#{tmp\ 4495}# #{x\ 4493}#)) (let ((#{tmp\ 4496}# ($sc-dispatch #{tmp\ 4495}# (quote (any any))))) (if #{tmp\ 4496}# (@apply (lambda (#{_\ 4499}# #{e\ 4500}#) (syntax-violation 'unquote "expression not valid outside of quasiquote" #{x\ 4493}#)) #{tmp\ 4496}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4495}#))))))) (define unquote-splicing (make-syntax-transformer 'unquote-splicing 'macro (lambda (#{x\ 4501}#) (let ((#{tmp\ 4503}# #{x\ 4501}#)) (let ((#{tmp\ 4504}# ($sc-dispatch #{tmp\ 4503}# (quote (any any))))) (if #{tmp\ 4504}# (@apply (lambda (#{_\ 4507}# #{e\ 4508}#) (syntax-violation 'unquote-splicing "expression not valid outside of quasiquote" #{x\ 4501}#)) #{tmp\ 4504}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4503}#))))))) (define case (make-syntax-transformer 'case 'macro (lambda (#{x\ 4509}#) (let ((#{tmp\ 4511}# #{x\ 4509}#)) (let ((#{tmp\ 4512}# ($sc-dispatch #{tmp\ 4511}# '(any any any . each-any)))) (if #{tmp\ 4512}# (@apply (lambda (#{_\ 4517}# #{e\ 4518}# #{m1\ 4519}# #{m2\ 4520}#) (let ((#{tmp\ 4522}# (letrec* ((#{f\ 4528}# (lambda (#{clause\ 4529}# #{clauses\ 4530}#) (if (null? #{clauses\ 4530}#) (let ((#{tmp\ 4532}# #{clause\ 4529}#)) (let ((#{tmp\ 4533}# ($sc-dispatch #{tmp\ 4532}# '(#(free-id #(syntax-object else ((top) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile))) any . each-any)))) (if #{tmp\ 4533}# (@apply (lambda (#{e1\ 4536}# #{e2\ 4537}#) (cons '#(syntax-object begin ((top) #(ribcage #(e1 e2) #((top) (top)) #("i4534" "i4535")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) (cons #{e1\ 4536}# #{e2\ 4537}#))) #{tmp\ 4533}#) (let ((#{tmp\ 4539}# ($sc-dispatch #{tmp\ 4532}# '(each-any any . each-any)))) (if #{tmp\ 4539}# (@apply (lambda (#{k\ 4543}# #{e1\ 4544}# #{e2\ 4545}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4540" "i4541" "i4542")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) (list '#(syntax-object memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4540" "i4541" "i4542")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) '#(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4540" "i4541" "i4542")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) (list '#(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4540" "i4541" "i4542")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) #{k\ 4543}#)) (cons '#(syntax-object begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4540" "i4541" "i4542")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) (cons #{e1\ 4544}# #{e2\ 4545}#)))) #{tmp\ 4539}#) (let ((#{_\ 4549}# #{tmp\ 4532}#)) (syntax-violation 'case "bad clause" #{x\ 4509}# #{clause\ 4529}#))))))) (let ((#{tmp\ 4551}# (#{f\ 4528}# (car #{clauses\ 4530}#) (cdr #{clauses\ 4530}#)))) (let ((#{rest\ 4553}# #{tmp\ 4551}#)) (let ((#{tmp\ 4554}# #{clause\ 4529}#)) (let ((#{tmp\ 4555}# ($sc-dispatch #{tmp\ 4554}# '(each-any any . each-any)))) (if #{tmp\ 4555}# (@apply (lambda (#{k\ 4559}# #{e1\ 4560}# #{e2\ 4561}#) (list '#(syntax-object if ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4556" "i4557" "i4558")) #(ribcage #(rest) #((top)) #("i4552")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) (list '#(syntax-object memv ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4556" "i4557" "i4558")) #(ribcage #(rest) #((top)) #("i4552")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) '#(syntax-object t ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4556" "i4557" "i4558")) #(ribcage #(rest) #((top)) #("i4552")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) (list '#(syntax-object quote ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4556" "i4557" "i4558")) #(ribcage #(rest) #((top)) #("i4552")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) #{k\ 4559}#)) (cons '#(syntax-object begin ((top) #(ribcage #(k e1 e2) #((top) (top) (top)) #("i4556" "i4557" "i4558")) #(ribcage #(rest) #((top)) #("i4552")) #(ribcage () () ()) #(ribcage #(f clause clauses) #((top) (top) (top)) #("i4525" "i4526" "i4527")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) (cons #{e1\ 4560}# #{e2\ 4561}#)) #{rest\ 4553}#)) #{tmp\ 4555}#) (let ((#{_\ 4565}# #{tmp\ 4554}#)) (syntax-violation 'case "bad clause" #{x\ 4509}# #{clause\ 4529}#))))))))))) (begin (#{f\ 4528}# #{m1\ 4519}# #{m2\ 4520}#))))) (let ((#{body\ 4524}# #{tmp\ 4522}#)) (list '#(syntax-object let ((top) #(ribcage #(body) #((top)) #("i4523")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) (list (list '#(syntax-object t ((top) #(ribcage #(body) #((top)) #("i4523")) #(ribcage #(_ e m1 m2) #((top) (top) (top) (top)) #("i4513" "i4514" "i4515" "i4516")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4510"))) (hygiene guile)) #{e\ 4518}#)) #{body\ 4524}#)))) #{tmp\ 4512}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4511}#))))))) (define identifier-syntax (make-syntax-transformer 'identifier-syntax 'macro (lambda (#{x\ 4566}#) (let ((#{tmp\ 4568}# #{x\ 4566}#)) (let ((#{tmp\ 4569}# ($sc-dispatch #{tmp\ 4568}# (quote (any any))))) (if #{tmp\ 4569}# (@apply (lambda (#{_\ 4572}# #{e\ 4573}#) (list '#(syntax-object lambda ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) '(#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile))) '#((#(syntax-object macro-type ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) . #(syntax-object identifier-syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)))) (list '#(syntax-object syntax-case ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) '#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) '() (list '#(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) '(#(syntax-object identifier? ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) (#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) #(syntax-object id ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) #{e\ 4573}#)) (list (cons #{_\ 4572}# '(#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)))) (list '#(syntax-object syntax ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) (cons #{e\ 4573}# '(#(syntax-object x ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile)) #(syntax-object ... ((top) #(ribcage #(_ e) #((top) (top)) #("i4570" "i4571")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4567"))) (hygiene guile))))))))) #{tmp\ 4569}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4568}#))))))) (define define* (make-syntax-transformer 'define* 'macro (lambda (#{x\ 4574}#) (let ((#{tmp\ 4576}# #{x\ 4574}#)) (let ((#{tmp\ 4577}# ($sc-dispatch #{tmp\ 4576}# '(any (any . any) any . each-any)))) (if #{tmp\ 4577}# (@apply (lambda (#{_\ 4583}# #{id\ 4584}# #{args\ 4585}# #{b0\ 4586}# #{b1\ 4587}#) (list '#(syntax-object define ((top) #(ribcage #(_ id args b0 b1) #((top) (top) (top) (top) (top)) #("i4578" "i4579" "i4580" "i4581" "i4582")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4575"))) (hygiene guile)) #{id\ 4584}# (cons '#(syntax-object lambda* ((top) #(ribcage #(_ id args b0 b1) #((top) (top) (top) (top) (top)) #("i4578" "i4579" "i4580" "i4581" "i4582")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4575"))) (hygiene guile)) (cons #{args\ 4585}# (cons #{b0\ 4586}# #{b1\ 4587}#))))) #{tmp\ 4577}#) (let ((#{tmp\ 4589}# ($sc-dispatch #{tmp\ 4576}# '(any any any)))) (if (if #{tmp\ 4589}# (@apply (lambda (#{_\ 4593}# #{id\ 4594}# #{val\ 4595}#) (identifier? '#(syntax-object x ((top) #(ribcage #(_ id val) #((top) (top) (top)) #("i4590" "i4591" "i4592")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4575"))) (hygiene guile)))) #{tmp\ 4589}#) #f) (@apply (lambda (#{_\ 4599}# #{id\ 4600}# #{val\ 4601}#) (list '#(syntax-object define ((top) #(ribcage #(_ id val) #((top) (top) (top)) #("i4596" "i4597" "i4598")) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i4575"))) (hygiene guile)) #{id\ 4600}# #{val\ 4601}#)) #{tmp\ 4589}#) (syntax-violation #f "source expression failed to match any pattern" #{tmp\ 4576}#)))))))))