1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-12 23:00:22 +02:00
guile/module/ice-9/psyntax-pp.scm
Andy Wingo 565c8e30cd update comments in psyntax.scm
* module/ice-9/psyntax.scm: Update comments. Fix a couple of needless
  conses in and-map.

* module/ice-9/psyntax-pp.scm (#{and-map*\ 35}): Regen.
2010-08-16 21:36:14 -07:00

17718 lines
1 MiB

(eval-when (compile) (set-current-module (resolve-module (quote (guile)))))
(if #f #f)
(letrec*
((#{and-map*\ 35}#
(lambda (#{f\ 199}# #{first\ 200}# . #{rest\ 201}#)
(begin
(let ((#{t\ 207}# (null? #{first\ 200}#)))
(if #{t\ 207}#
#{t\ 207}#
(if (null? #{rest\ 201}#)
(letrec*
((#{andmap\ 211}#
(lambda (#{first\ 212}#)
(begin
(let ((#{x\ 215}# (car #{first\ 212}#))
(#{first\ 216}# (cdr #{first\ 212}#)))
(if (null? #{first\ 216}#)
(#{f\ 199}# #{x\ 215}#)
(if (#{f\ 199}# #{x\ 215}#)
(#{andmap\ 211}# #{first\ 216}#)
#f)))))))
(begin (#{andmap\ 211}# #{first\ 200}#)))
(letrec*
((#{andmap\ 222}#
(lambda (#{first\ 223}# #{rest\ 224}#)
(begin
(let ((#{x\ 229}# (car #{first\ 223}#))
(#{xr\ 230}# (map car #{rest\ 224}#))
(#{first\ 231}# (cdr #{first\ 223}#))
(#{rest\ 232}# (map cdr #{rest\ 224}#)))
(if (null? #{first\ 231}#)
(@apply #{f\ 199}# #{x\ 229}# #{xr\ 230}#)
(if (@apply #{f\ 199}# #{x\ 229}# #{xr\ 230}#)
(#{andmap\ 222}# #{first\ 231}# #{rest\ 232}#)
#f)))))))
(begin
(#{andmap\ 222}# #{first\ 200}# #{rest\ 201}#))))))))))
(begin
(let ((#{make-primitive-ref\ 241}# (if #f #f))
(#{fx+\ 280}# (if #f #f))
(#{fx-\ 282}# (if #f #f))
(#{fx=\ 284}# (if #f #f))
(#{fx<\ 286}# (if #f #f))
(#{set-syntax-object-expression!\ 351}#
(if #f #f))
(#{set-syntax-object-wrap!\ 353}# (if #f #f))
(#{set-syntax-object-module!\ 355}# (if #f #f))
(#{binding-type\ 362}# (if #f #f))
(#{binding-value\ 364}# (if #f #f))
(#{make-wrap\ 384}# (if #f #f))
(#{wrap-marks\ 386}# (if #f #f))
(#{wrap-subst\ 388}# (if #f #f))
(#{ribcage?\ 402}# (if #f #f)))
(letrec*
((#{make-void\ 237}#
(lambda (#{src\ 697}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 0)
#{src\ 697}#)))
(#{make-const\ 239}#
(lambda (#{src\ 699}# #{exp\ 700}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 1)
#{src\ 699}#
#{exp\ 700}#)))
(#{make-lexical-ref\ 243}#
(lambda (#{src\ 707}# #{name\ 708}# #{gensym\ 709}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 3)
#{src\ 707}#
#{name\ 708}#
#{gensym\ 709}#)))
(#{make-lexical-set\ 245}#
(lambda (#{src\ 713}#
#{name\ 714}#
#{gensym\ 715}#
#{exp\ 716}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 4)
#{src\ 713}#
#{name\ 714}#
#{gensym\ 715}#
#{exp\ 716}#)))
(#{make-module-ref\ 247}#
(lambda (#{src\ 721}#
#{mod\ 722}#
#{name\ 723}#
#{public?\ 724}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 5)
#{src\ 721}#
#{mod\ 722}#
#{name\ 723}#
#{public?\ 724}#)))
(#{make-module-set\ 249}#
(lambda (#{src\ 729}#
#{mod\ 730}#
#{name\ 731}#
#{public?\ 732}#
#{exp\ 733}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 6)
#{src\ 729}#
#{mod\ 730}#
#{name\ 731}#
#{public?\ 732}#
#{exp\ 733}#)))
(#{make-toplevel-ref\ 251}#
(lambda (#{src\ 739}# #{name\ 740}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 7)
#{src\ 739}#
#{name\ 740}#)))
(#{make-toplevel-set\ 253}#
(lambda (#{src\ 743}# #{name\ 744}# #{exp\ 745}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 8)
#{src\ 743}#
#{name\ 744}#
#{exp\ 745}#)))
(#{make-toplevel-define\ 255}#
(lambda (#{src\ 749}# #{name\ 750}# #{exp\ 751}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 9)
#{src\ 749}#
#{name\ 750}#
#{exp\ 751}#)))
(#{make-conditional\ 257}#
(lambda (#{src\ 755}#
#{test\ 756}#
#{consequent\ 757}#
#{alternate\ 758}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 10)
#{src\ 755}#
#{test\ 756}#
#{consequent\ 757}#
#{alternate\ 758}#)))
(#{make-application\ 259}#
(lambda (#{src\ 763}# #{proc\ 764}# #{args\ 765}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 11)
#{src\ 763}#
#{proc\ 764}#
#{args\ 765}#)))
(#{make-sequence\ 261}#
(lambda (#{src\ 769}# #{exps\ 770}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 12)
#{src\ 769}#
#{exps\ 770}#)))
(#{make-lambda\ 263}#
(lambda (#{src\ 773}# #{meta\ 774}# #{body\ 775}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 13)
#{src\ 773}#
#{meta\ 774}#
#{body\ 775}#)))
(#{make-lambda-case\ 265}#
(lambda (#{src\ 779}#
#{req\ 780}#
#{opt\ 781}#
#{rest\ 782}#
#{kw\ 783}#
#{inits\ 784}#
#{gensyms\ 785}#
#{body\ 786}#
#{alternate\ 787}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 14)
#{src\ 779}#
#{req\ 780}#
#{opt\ 781}#
#{rest\ 782}#
#{kw\ 783}#
#{inits\ 784}#
#{gensyms\ 785}#
#{body\ 786}#
#{alternate\ 787}#)))
(#{make-let\ 267}#
(lambda (#{src\ 797}#
#{names\ 798}#
#{gensyms\ 799}#
#{vals\ 800}#
#{body\ 801}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 15)
#{src\ 797}#
#{names\ 798}#
#{gensyms\ 799}#
#{vals\ 800}#
#{body\ 801}#)))
(#{make-letrec\ 269}#
(lambda (#{src\ 807}#
#{in-order?\ 808}#
#{names\ 809}#
#{gensyms\ 810}#
#{vals\ 811}#
#{body\ 812}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 16)
#{src\ 807}#
#{in-order?\ 808}#
#{names\ 809}#
#{gensyms\ 810}#
#{vals\ 811}#
#{body\ 812}#)))
(#{make-dynlet\ 271}#
(lambda (#{src\ 819}#
#{fluids\ 820}#
#{vals\ 821}#
#{body\ 822}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 17)
#{src\ 819}#
#{fluids\ 820}#
#{vals\ 821}#
#{body\ 822}#)))
(#{lambda?\ 274}#
(lambda (#{x\ 827}#)
(if (struct? #{x\ 827}#)
(eq? (struct-vtable #{x\ 827}#)
(vector-ref %expanded-vtables 13))
#f)))
(#{lambda-meta\ 276}#
(lambda (#{x\ 831}#) (struct-ref #{x\ 831}# 1)))
(#{set-lambda-meta!\ 278}#
(lambda (#{x\ 833}# #{v\ 834}#)
(struct-set! #{x\ 833}# 1 #{v\ 834}#)))
(#{top-level-eval-hook\ 288}#
(lambda (#{x\ 837}# #{mod\ 838}#)
(primitive-eval #{x\ 837}#)))
(#{local-eval-hook\ 290}#
(lambda (#{x\ 841}# #{mod\ 842}#)
(primitive-eval #{x\ 841}#)))
(#{put-global-definition-hook\ 293}#
(lambda (#{symbol\ 845}# #{type\ 846}# #{val\ 847}#)
(module-define!
(current-module)
#{symbol\ 845}#
(make-syntax-transformer
#{symbol\ 845}#
#{type\ 846}#
#{val\ 847}#))))
(#{get-global-definition-hook\ 295}#
(lambda (#{symbol\ 851}# #{module\ 852}#)
(begin
(if (if (not #{module\ 852}#) (current-module) #f)
(warn "module system is booted, we should have a module"
#{symbol\ 851}#))
(begin
(let ((#{v\ 858}# (module-variable
(if #{module\ 852}#
(resolve-module (cdr #{module\ 852}#))
(current-module))
#{symbol\ 851}#)))
(if #{v\ 858}#
(if (variable-bound? #{v\ 858}#)
(begin
(let ((#{val\ 863}# (variable-ref #{v\ 858}#)))
(if (macro? #{val\ 863}#)
(if (macro-type #{val\ 863}#)
(cons (macro-type #{val\ 863}#)
(macro-binding #{val\ 863}#))
#f)
#f)))
#f)
#f))))))
(#{decorate-source\ 297}#
(lambda (#{e\ 867}# #{s\ 868}#)
(begin
(if (if (pair? #{e\ 867}#) #{s\ 868}# #f)
(set-source-properties! #{e\ 867}# #{s\ 868}#))
#{e\ 867}#)))
(#{maybe-name-value!\ 299}#
(lambda (#{name\ 873}# #{val\ 874}#)
(if (#{lambda?\ 274}# #{val\ 874}#)
(begin
(let ((#{meta\ 878}#
(#{lambda-meta\ 276}# #{val\ 874}#)))
(if (not (assq (quote name) #{meta\ 878}#))
(#{set-lambda-meta!\ 278}#
#{val\ 874}#
(cons (cons (quote name) #{name\ 873}#)
#{meta\ 878}#))))))))
(#{build-void\ 301}#
(lambda (#{source\ 879}#)
(#{make-void\ 237}# #{source\ 879}#)))
(#{build-application\ 303}#
(lambda (#{source\ 881}#
#{fun-exp\ 882}#
#{arg-exps\ 883}#)
(#{make-application\ 259}#
#{source\ 881}#
#{fun-exp\ 882}#
#{arg-exps\ 883}#)))
(#{build-conditional\ 305}#
(lambda (#{source\ 887}#
#{test-exp\ 888}#
#{then-exp\ 889}#
#{else-exp\ 890}#)
(#{make-conditional\ 257}#
#{source\ 887}#
#{test-exp\ 888}#
#{then-exp\ 889}#
#{else-exp\ 890}#)))
(#{build-dynlet\ 307}#
(lambda (#{source\ 895}#
#{fluids\ 896}#
#{vals\ 897}#
#{body\ 898}#)
(#{make-dynlet\ 271}#
#{source\ 895}#
#{fluids\ 896}#
#{vals\ 897}#
#{body\ 898}#)))
(#{build-lexical-reference\ 309}#
(lambda (#{type\ 903}#
#{source\ 904}#
#{name\ 905}#
#{var\ 906}#)
(#{make-lexical-ref\ 243}#
#{source\ 904}#
#{name\ 905}#
#{var\ 906}#)))
(#{build-lexical-assignment\ 311}#
(lambda (#{source\ 911}#
#{name\ 912}#
#{var\ 913}#
#{exp\ 914}#)
(begin
(#{maybe-name-value!\ 299}#
#{name\ 912}#
#{exp\ 914}#)
(#{make-lexical-set\ 245}#
#{source\ 911}#
#{name\ 912}#
#{var\ 913}#
#{exp\ 914}#))))
(#{analyze-variable\ 313}#
(lambda (#{mod\ 919}#
#{var\ 920}#
#{modref-cont\ 921}#
#{bare-cont\ 922}#)
(if (not #{mod\ 919}#)
(#{bare-cont\ 922}# #{var\ 920}#)
(begin
(let ((#{kind\ 929}# (car #{mod\ 919}#))
(#{mod\ 930}# (cdr #{mod\ 919}#)))
(if (eqv? #{kind\ 929}# (quote public))
(#{modref-cont\ 921}#
#{mod\ 930}#
#{var\ 920}#
#t)
(if (eqv? #{kind\ 929}# (quote private))
(if (not (equal?
#{mod\ 930}#
(module-name (current-module))))
(#{modref-cont\ 921}#
#{mod\ 930}#
#{var\ 920}#
#f)
(#{bare-cont\ 922}# #{var\ 920}#))
(if (eqv? #{kind\ 929}# (quote bare))
(#{bare-cont\ 922}# #{var\ 920}#)
(if (eqv? #{kind\ 929}# (quote hygiene))
(if (if (not (equal?
#{mod\ 930}#
(module-name (current-module))))
(module-variable
(resolve-module #{mod\ 930}#)
#{var\ 920}#)
#f)
(#{modref-cont\ 921}#
#{mod\ 930}#
#{var\ 920}#
#f)
(#{bare-cont\ 922}# #{var\ 920}#))
(syntax-violation
#f
"bad module kind"
#{var\ 920}#
#{mod\ 930}#))))))))))
(#{build-global-reference\ 315}#
(lambda (#{source\ 938}# #{var\ 939}# #{mod\ 940}#)
(#{analyze-variable\ 313}#
#{mod\ 940}#
#{var\ 939}#
(lambda (#{mod\ 944}# #{var\ 945}# #{public?\ 946}#)
(#{make-module-ref\ 247}#
#{source\ 938}#
#{mod\ 944}#
#{var\ 945}#
#{public?\ 946}#))
(lambda (#{var\ 950}#)
(#{make-toplevel-ref\ 251}#
#{source\ 938}#
#{var\ 950}#)))))
(#{build-global-assignment\ 317}#
(lambda (#{source\ 952}#
#{var\ 953}#
#{exp\ 954}#
#{mod\ 955}#)
(begin
(#{maybe-name-value!\ 299}#
#{var\ 953}#
#{exp\ 954}#)
(#{analyze-variable\ 313}#
#{mod\ 955}#
#{var\ 953}#
(lambda (#{mod\ 960}# #{var\ 961}# #{public?\ 962}#)
(#{make-module-set\ 249}#
#{source\ 952}#
#{mod\ 960}#
#{var\ 961}#
#{public?\ 962}#
#{exp\ 954}#))
(lambda (#{var\ 966}#)
(#{make-toplevel-set\ 253}#
#{source\ 952}#
#{var\ 966}#
#{exp\ 954}#))))))
(#{build-global-definition\ 319}#
(lambda (#{source\ 968}# #{var\ 969}# #{exp\ 970}#)
(begin
(#{maybe-name-value!\ 299}#
#{var\ 969}#
#{exp\ 970}#)
(#{make-toplevel-define\ 255}#
#{source\ 968}#
#{var\ 969}#
#{exp\ 970}#))))
(#{build-simple-lambda\ 321}#
(lambda (#{src\ 974}#
#{req\ 975}#
#{rest\ 976}#
#{vars\ 977}#
#{meta\ 978}#
#{exp\ 979}#)
(#{make-lambda\ 263}#
#{src\ 974}#
#{meta\ 978}#
(#{make-lambda-case\ 265}#
#{src\ 974}#
#{req\ 975}#
#f
#{rest\ 976}#
#f
'()
#{vars\ 977}#
#{exp\ 979}#
#f))))
(#{build-case-lambda\ 323}#
(lambda (#{src\ 986}# #{meta\ 987}# #{body\ 988}#)
(#{make-lambda\ 263}#
#{src\ 986}#
#{meta\ 987}#
#{body\ 988}#)))
(#{build-lambda-case\ 325}#
(lambda (#{src\ 992}#
#{req\ 993}#
#{opt\ 994}#
#{rest\ 995}#
#{kw\ 996}#
#{inits\ 997}#
#{vars\ 998}#
#{body\ 999}#
#{else-case\ 1000}#)
(#{make-lambda-case\ 265}#
#{src\ 992}#
#{req\ 993}#
#{opt\ 994}#
#{rest\ 995}#
#{kw\ 996}#
#{inits\ 997}#
#{vars\ 998}#
#{body\ 999}#
#{else-case\ 1000}#)))
(#{build-primref\ 327}#
(lambda (#{src\ 1010}# #{name\ 1011}#)
(if (equal?
(module-name (current-module))
'(guile))
(#{make-toplevel-ref\ 251}#
#{src\ 1010}#
#{name\ 1011}#)
(#{make-module-ref\ 247}#
#{src\ 1010}#
'(guile)
#{name\ 1011}#
#f))))
(#{build-data\ 329}#
(lambda (#{src\ 1014}# #{exp\ 1015}#)
(#{make-const\ 239}# #{src\ 1014}# #{exp\ 1015}#)))
(#{build-sequence\ 331}#
(lambda (#{src\ 1018}# #{exps\ 1019}#)
(if (null? (cdr #{exps\ 1019}#))
(car #{exps\ 1019}#)
(#{make-sequence\ 261}#
#{src\ 1018}#
#{exps\ 1019}#))))
(#{build-let\ 333}#
(lambda (#{src\ 1022}#
#{ids\ 1023}#
#{vars\ 1024}#
#{val-exps\ 1025}#
#{body-exp\ 1026}#)
(begin
(for-each
#{maybe-name-value!\ 299}#
#{ids\ 1023}#
#{val-exps\ 1025}#)
(if (null? #{vars\ 1024}#)
#{body-exp\ 1026}#
(#{make-let\ 267}#
#{src\ 1022}#
#{ids\ 1023}#
#{vars\ 1024}#
#{val-exps\ 1025}#
#{body-exp\ 1026}#)))))
(#{build-named-let\ 335}#
(lambda (#{src\ 1032}#
#{ids\ 1033}#
#{vars\ 1034}#
#{val-exps\ 1035}#
#{body-exp\ 1036}#)
(begin
(let ((#{f\ 1046}# (car #{vars\ 1034}#))
(#{f-name\ 1047}# (car #{ids\ 1033}#))
(#{vars\ 1048}# (cdr #{vars\ 1034}#))
(#{ids\ 1049}# (cdr #{ids\ 1033}#)))
(begin
(let ((#{proc\ 1051}#
(#{build-simple-lambda\ 321}#
#{src\ 1032}#
#{ids\ 1049}#
#f
#{vars\ 1048}#
'()
#{body-exp\ 1036}#)))
(begin
(#{maybe-name-value!\ 299}#
#{f-name\ 1047}#
#{proc\ 1051}#)
(for-each
#{maybe-name-value!\ 299}#
#{ids\ 1049}#
#{val-exps\ 1035}#)
(#{make-letrec\ 269}#
#{src\ 1032}#
#f
(list #{f-name\ 1047}#)
(list #{f\ 1046}#)
(list #{proc\ 1051}#)
(#{build-application\ 303}#
#{src\ 1032}#
(#{build-lexical-reference\ 309}#
'fun
#{src\ 1032}#
#{f-name\ 1047}#
#{f\ 1046}#)
#{val-exps\ 1035}#)))))))))
(#{build-letrec\ 337}#
(lambda (#{src\ 1052}#
#{in-order?\ 1053}#
#{ids\ 1054}#
#{vars\ 1055}#
#{val-exps\ 1056}#
#{body-exp\ 1057}#)
(if (null? #{vars\ 1055}#)
#{body-exp\ 1057}#
(begin
(for-each
#{maybe-name-value!\ 299}#
#{ids\ 1054}#
#{val-exps\ 1056}#)
(#{make-letrec\ 269}#
#{src\ 1052}#
#{in-order?\ 1053}#
#{ids\ 1054}#
#{vars\ 1055}#
#{val-exps\ 1056}#
#{body-exp\ 1057}#)))))
(#{make-syntax-object\ 341}#
(lambda (#{expression\ 1064}#
#{wrap\ 1065}#
#{module\ 1066}#)
(vector
'syntax-object
#{expression\ 1064}#
#{wrap\ 1065}#
#{module\ 1066}#)))
(#{syntax-object?\ 343}#
(lambda (#{x\ 1070}#)
(if (vector? #{x\ 1070}#)
(if (= (vector-length #{x\ 1070}#) 4)
(eq? (vector-ref #{x\ 1070}# 0)
'syntax-object)
#f)
#f)))
(#{syntax-object-expression\ 345}#
(lambda (#{x\ 1075}#) (vector-ref #{x\ 1075}# 1)))
(#{syntax-object-wrap\ 347}#
(lambda (#{x\ 1077}#) (vector-ref #{x\ 1077}# 2)))
(#{syntax-object-module\ 349}#
(lambda (#{x\ 1079}#) (vector-ref #{x\ 1079}# 3)))
(#{source-annotation\ 358}#
(lambda (#{x\ 1093}#)
(if (#{syntax-object?\ 343}# #{x\ 1093}#)
(#{source-annotation\ 358}#
(#{syntax-object-expression\ 345}# #{x\ 1093}#))
(if (pair? #{x\ 1093}#)
(begin
(let ((#{props\ 1100}# (source-properties #{x\ 1093}#)))
(if (pair? #{props\ 1100}#) #{props\ 1100}# #f)))
#f))))
(#{extend-env\ 367}#
(lambda (#{labels\ 1102}# #{bindings\ 1103}# #{r\ 1104}#)
(if (null? #{labels\ 1102}#)
#{r\ 1104}#
(#{extend-env\ 367}#
(cdr #{labels\ 1102}#)
(cdr #{bindings\ 1103}#)
(cons (cons (car #{labels\ 1102}#)
(car #{bindings\ 1103}#))
#{r\ 1104}#)))))
(#{extend-var-env\ 369}#
(lambda (#{labels\ 1108}# #{vars\ 1109}# #{r\ 1110}#)
(if (null? #{labels\ 1108}#)
#{r\ 1110}#
(#{extend-var-env\ 369}#
(cdr #{labels\ 1108}#)
(cdr #{vars\ 1109}#)
(cons (cons (car #{labels\ 1108}#)
(cons (quote lexical) (car #{vars\ 1109}#)))
#{r\ 1110}#)))))
(#{macros-only-env\ 371}#
(lambda (#{r\ 1115}#)
(if (null? #{r\ 1115}#)
'()
(begin
(let ((#{a\ 1118}# (car #{r\ 1115}#)))
(if (eq? (car (cdr #{a\ 1118}#)) (quote macro))
(cons #{a\ 1118}#
(#{macros-only-env\ 371}# (cdr #{r\ 1115}#)))
(#{macros-only-env\ 371}# (cdr #{r\ 1115}#))))))))
(#{lookup\ 373}#
(lambda (#{x\ 1119}# #{r\ 1120}# #{mod\ 1121}#)
(begin
(let ((#{t\ 1127}# (assq #{x\ 1119}# #{r\ 1120}#)))
(if #{t\ 1127}#
(cdr #{t\ 1127}#)
(if (symbol? #{x\ 1119}#)
(begin
(let ((#{t\ 1133}#
(#{get-global-definition-hook\ 295}#
#{x\ 1119}#
#{mod\ 1121}#)))
(if #{t\ 1133}# #{t\ 1133}# (quote (global)))))
'(displaced-lexical)))))))
(#{global-extend\ 375}#
(lambda (#{type\ 1138}# #{sym\ 1139}# #{val\ 1140}#)
(#{put-global-definition-hook\ 293}#
#{sym\ 1139}#
#{type\ 1138}#
#{val\ 1140}#)))
(#{nonsymbol-id?\ 377}#
(lambda (#{x\ 1144}#)
(if (#{syntax-object?\ 343}# #{x\ 1144}#)
(symbol?
(#{syntax-object-expression\ 345}# #{x\ 1144}#))
#f)))
(#{id?\ 379}#
(lambda (#{x\ 1148}#)
(if (symbol? #{x\ 1148}#)
#t
(if (#{syntax-object?\ 343}# #{x\ 1148}#)
(symbol?
(#{syntax-object-expression\ 345}# #{x\ 1148}#))
#f))))
(#{id-sym-name&marks\ 382}#
(lambda (#{x\ 1155}# #{w\ 1156}#)
(if (#{syntax-object?\ 343}# #{x\ 1155}#)
(values
(#{syntax-object-expression\ 345}# #{x\ 1155}#)
(#{join-marks\ 432}#
(#{wrap-marks\ 386}# #{w\ 1156}#)
(#{wrap-marks\ 386}#
(#{syntax-object-wrap\ 347}# #{x\ 1155}#))))
(values
#{x\ 1155}#
(#{wrap-marks\ 386}# #{w\ 1156}#)))))
(#{gen-label\ 395}#
(lambda () (symbol->string (gensym "i"))))
(#{gen-labels\ 397}#
(lambda (#{ls\ 1159}#)
(if (null? #{ls\ 1159}#)
'()
(cons (#{gen-label\ 395}#)
(#{gen-labels\ 397}# (cdr #{ls\ 1159}#))))))
(#{make-ribcage\ 400}#
(lambda (#{symnames\ 1161}#
#{marks\ 1162}#
#{labels\ 1163}#)
(vector
'ribcage
#{symnames\ 1161}#
#{marks\ 1162}#
#{labels\ 1163}#)))
(#{ribcage-symnames\ 404}#
(lambda (#{x\ 1172}#) (vector-ref #{x\ 1172}# 1)))
(#{ribcage-marks\ 406}#
(lambda (#{x\ 1174}#) (vector-ref #{x\ 1174}# 2)))
(#{ribcage-labels\ 408}#
(lambda (#{x\ 1176}#) (vector-ref #{x\ 1176}# 3)))
(#{set-ribcage-symnames!\ 410}#
(lambda (#{x\ 1178}# #{update\ 1179}#)
(vector-set! #{x\ 1178}# 1 #{update\ 1179}#)))
(#{set-ribcage-marks!\ 412}#
(lambda (#{x\ 1182}# #{update\ 1183}#)
(vector-set! #{x\ 1182}# 2 #{update\ 1183}#)))
(#{set-ribcage-labels!\ 414}#
(lambda (#{x\ 1186}# #{update\ 1187}#)
(vector-set! #{x\ 1186}# 3 #{update\ 1187}#)))
(#{anti-mark\ 420}#
(lambda (#{w\ 1190}#)
(#{make-wrap\ 384}#
(cons #f (#{wrap-marks\ 386}# #{w\ 1190}#))
(cons 'shift
(#{wrap-subst\ 388}# #{w\ 1190}#)))))
(#{extend-ribcage!\ 424}#
(lambda (#{ribcage\ 1193}# #{id\ 1194}# #{label\ 1195}#)
(begin
(#{set-ribcage-symnames!\ 410}#
#{ribcage\ 1193}#
(cons (#{syntax-object-expression\ 345}# #{id\ 1194}#)
(#{ribcage-symnames\ 404}# #{ribcage\ 1193}#)))
(#{set-ribcage-marks!\ 412}#
#{ribcage\ 1193}#
(cons (#{wrap-marks\ 386}#
(#{syntax-object-wrap\ 347}# #{id\ 1194}#))
(#{ribcage-marks\ 406}# #{ribcage\ 1193}#)))
(#{set-ribcage-labels!\ 414}#
#{ribcage\ 1193}#
(cons #{label\ 1195}#
(#{ribcage-labels\ 408}# #{ribcage\ 1193}#))))))
(#{make-binding-wrap\ 426}#
(lambda (#{ids\ 1199}# #{labels\ 1200}# #{w\ 1201}#)
(if (null? #{ids\ 1199}#)
#{w\ 1201}#
(#{make-wrap\ 384}#
(#{wrap-marks\ 386}# #{w\ 1201}#)
(cons (begin
(let ((#{labelvec\ 1206}#
(list->vector #{labels\ 1200}#)))
(begin
(let ((#{n\ 1208}#
(vector-length #{labelvec\ 1206}#)))
(begin
(let ((#{symnamevec\ 1211}#
(make-vector #{n\ 1208}#))
(#{marksvec\ 1212}#
(make-vector #{n\ 1208}#)))
(begin
(letrec*
((#{f\ 1216}#
(lambda (#{ids\ 1217}# #{i\ 1218}#)
(if (not (null? #{ids\ 1217}#))
(call-with-values
(lambda ()
(#{id-sym-name&marks\ 382}#
(car #{ids\ 1217}#)
#{w\ 1201}#))
(lambda (#{symname\ 1219}#
#{marks\ 1220}#)
(begin
(vector-set!
#{symnamevec\ 1211}#
#{i\ 1218}#
#{symname\ 1219}#)
(vector-set!
#{marksvec\ 1212}#
#{i\ 1218}#
#{marks\ 1220}#)
(#{f\ 1216}#
(cdr #{ids\ 1217}#)
(#{fx+\ 280}#
#{i\ 1218}#
1)))))))))
(begin (#{f\ 1216}# #{ids\ 1199}# 0)))
(#{make-ribcage\ 400}#
#{symnamevec\ 1211}#
#{marksvec\ 1212}#
#{labelvec\ 1206}#))))))))
(#{wrap-subst\ 388}# #{w\ 1201}#))))))
(#{smart-append\ 428}#
(lambda (#{m1\ 1223}# #{m2\ 1224}#)
(if (null? #{m2\ 1224}#)
#{m1\ 1223}#
(append #{m1\ 1223}# #{m2\ 1224}#))))
(#{join-wraps\ 430}#
(lambda (#{w1\ 1227}# #{w2\ 1228}#)
(begin
(let ((#{m1\ 1233}# (#{wrap-marks\ 386}# #{w1\ 1227}#))
(#{s1\ 1234}# (#{wrap-subst\ 388}# #{w1\ 1227}#)))
(if (null? #{m1\ 1233}#)
(if (null? #{s1\ 1234}#)
#{w2\ 1228}#
(#{make-wrap\ 384}#
(#{wrap-marks\ 386}# #{w2\ 1228}#)
(#{smart-append\ 428}#
#{s1\ 1234}#
(#{wrap-subst\ 388}# #{w2\ 1228}#))))
(#{make-wrap\ 384}#
(#{smart-append\ 428}#
#{m1\ 1233}#
(#{wrap-marks\ 386}# #{w2\ 1228}#))
(#{smart-append\ 428}#
#{s1\ 1234}#
(#{wrap-subst\ 388}# #{w2\ 1228}#))))))))
(#{join-marks\ 432}#
(lambda (#{m1\ 1235}# #{m2\ 1236}#)
(#{smart-append\ 428}# #{m1\ 1235}# #{m2\ 1236}#)))
(#{same-marks?\ 434}#
(lambda (#{x\ 1239}# #{y\ 1240}#)
(begin
(let ((#{t\ 1245}# (eq? #{x\ 1239}# #{y\ 1240}#)))
(if #{t\ 1245}#
#{t\ 1245}#
(if (not (null? #{x\ 1239}#))
(if (not (null? #{y\ 1240}#))
(if (eq? (car #{x\ 1239}#) (car #{y\ 1240}#))
(#{same-marks?\ 434}#
(cdr #{x\ 1239}#)
(cdr #{y\ 1240}#))
#f)
#f)
#f))))))
(#{id-var-name\ 436}#
(lambda (#{id\ 1251}# #{w\ 1252}#)
(letrec*
((#{search\ 1257}#
(lambda (#{sym\ 1273}# #{subst\ 1274}# #{marks\ 1275}#)
(if (null? #{subst\ 1274}#)
(values #f #{marks\ 1275}#)
(begin
(let ((#{fst\ 1280}# (car #{subst\ 1274}#)))
(if (eq? #{fst\ 1280}# (quote shift))
(#{search\ 1257}#
#{sym\ 1273}#
(cdr #{subst\ 1274}#)
(cdr #{marks\ 1275}#))
(begin
(let ((#{symnames\ 1282}#
(#{ribcage-symnames\ 404}#
#{fst\ 1280}#)))
(if (vector? #{symnames\ 1282}#)
(#{search-vector-rib\ 1261}#
#{sym\ 1273}#
#{subst\ 1274}#
#{marks\ 1275}#
#{symnames\ 1282}#
#{fst\ 1280}#)
(#{search-list-rib\ 1259}#
#{sym\ 1273}#
#{subst\ 1274}#
#{marks\ 1275}#
#{symnames\ 1282}#
#{fst\ 1280}#))))))))))
(#{search-list-rib\ 1259}#
(lambda (#{sym\ 1283}#
#{subst\ 1284}#
#{marks\ 1285}#
#{symnames\ 1286}#
#{ribcage\ 1287}#)
(letrec*
((#{f\ 1296}#
(lambda (#{symnames\ 1297}# #{i\ 1298}#)
(if (null? #{symnames\ 1297}#)
(#{search\ 1257}#
#{sym\ 1283}#
(cdr #{subst\ 1284}#)
#{marks\ 1285}#)
(if (if (eq? (car #{symnames\ 1297}#)
#{sym\ 1283}#)
(#{same-marks?\ 434}#
#{marks\ 1285}#
(list-ref
(#{ribcage-marks\ 406}#
#{ribcage\ 1287}#)
#{i\ 1298}#))
#f)
(values
(list-ref
(#{ribcage-labels\ 408}# #{ribcage\ 1287}#)
#{i\ 1298}#)
#{marks\ 1285}#)
(#{f\ 1296}#
(cdr #{symnames\ 1297}#)
(#{fx+\ 280}# #{i\ 1298}# 1)))))))
(begin (#{f\ 1296}# #{symnames\ 1286}# 0)))))
(#{search-vector-rib\ 1261}#
(lambda (#{sym\ 1306}#
#{subst\ 1307}#
#{marks\ 1308}#
#{symnames\ 1309}#
#{ribcage\ 1310}#)
(begin
(let ((#{n\ 1317}# (vector-length #{symnames\ 1309}#)))
(letrec*
((#{f\ 1320}#
(lambda (#{i\ 1321}#)
(if (#{fx=\ 284}# #{i\ 1321}# #{n\ 1317}#)
(#{search\ 1257}#
#{sym\ 1306}#
(cdr #{subst\ 1307}#)
#{marks\ 1308}#)
(if (if (eq? (vector-ref
#{symnames\ 1309}#
#{i\ 1321}#)
#{sym\ 1306}#)
(#{same-marks?\ 434}#
#{marks\ 1308}#
(vector-ref
(#{ribcage-marks\ 406}#
#{ribcage\ 1310}#)
#{i\ 1321}#))
#f)
(values
(vector-ref
(#{ribcage-labels\ 408}#
#{ribcage\ 1310}#)
#{i\ 1321}#)
#{marks\ 1308}#)
(#{f\ 1320}#
(#{fx+\ 280}# #{i\ 1321}# 1)))))))
(begin (#{f\ 1320}# 0))))))))
(begin
(if (symbol? #{id\ 1251}#)
(begin
(let ((#{t\ 1331}#
(call-with-values
(lambda ()
(#{search\ 1257}#
#{id\ 1251}#
(#{wrap-subst\ 388}# #{w\ 1252}#)
(#{wrap-marks\ 386}# #{w\ 1252}#)))
(lambda (#{x\ 1333}# . #{ignore\ 1334}#)
#{x\ 1333}#))))
(if #{t\ 1331}# #{t\ 1331}# #{id\ 1251}#)))
(if (#{syntax-object?\ 343}# #{id\ 1251}#)
(begin
(let ((#{id\ 1342}#
(#{syntax-object-expression\ 345}#
#{id\ 1251}#))
(#{w1\ 1343}#
(#{syntax-object-wrap\ 347}# #{id\ 1251}#)))
(begin
(let ((#{marks\ 1345}#
(#{join-marks\ 432}#
(#{wrap-marks\ 386}# #{w\ 1252}#)
(#{wrap-marks\ 386}# #{w1\ 1343}#))))
(call-with-values
(lambda ()
(#{search\ 1257}#
#{id\ 1342}#
(#{wrap-subst\ 388}# #{w\ 1252}#)
#{marks\ 1345}#))
(lambda (#{new-id\ 1346}# #{marks\ 1347}#)
(begin
(let ((#{t\ 1352}# #{new-id\ 1346}#))
(if #{t\ 1352}#
#{t\ 1352}#
(begin
(let ((#{t\ 1355}#
(call-with-values
(lambda ()
(#{search\ 1257}#
#{id\ 1342}#
(#{wrap-subst\ 388}#
#{w1\ 1343}#)
#{marks\ 1347}#))
(lambda (#{x\ 1357}#
.
#{ignore\ 1358}#)
#{x\ 1357}#))))
(if #{t\ 1355}#
#{t\ 1355}#
#{id\ 1342}#))))))))))))
(syntax-violation
'id-var-name
"invalid id"
#{id\ 1251}#)))))))
(#{free-id=?\ 438}#
(lambda (#{i\ 1363}# #{j\ 1364}#)
(if (eq? (begin
(let ((#{x\ 1370}# #{i\ 1363}#))
(if (#{syntax-object?\ 343}# #{x\ 1370}#)
(#{syntax-object-expression\ 345}# #{x\ 1370}#)
#{x\ 1370}#)))
(begin
(let ((#{x\ 1373}# #{j\ 1364}#))
(if (#{syntax-object?\ 343}# #{x\ 1373}#)
(#{syntax-object-expression\ 345}# #{x\ 1373}#)
#{x\ 1373}#))))
(eq? (#{id-var-name\ 436}# #{i\ 1363}# (quote (())))
(#{id-var-name\ 436}# #{j\ 1364}# (quote (()))))
#f)))
(#{bound-id=?\ 440}#
(lambda (#{i\ 1377}# #{j\ 1378}#)
(if (if (#{syntax-object?\ 343}# #{i\ 1377}#)
(#{syntax-object?\ 343}# #{j\ 1378}#)
#f)
(if (eq? (#{syntax-object-expression\ 345}# #{i\ 1377}#)
(#{syntax-object-expression\ 345}# #{j\ 1378}#))
(#{same-marks?\ 434}#
(#{wrap-marks\ 386}#
(#{syntax-object-wrap\ 347}# #{i\ 1377}#))
(#{wrap-marks\ 386}#
(#{syntax-object-wrap\ 347}# #{j\ 1378}#)))
#f)
(eq? #{i\ 1377}# #{j\ 1378}#))))
(#{valid-bound-ids?\ 442}#
(lambda (#{ids\ 1385}#)
(if (letrec*
((#{all-ids?\ 1390}#
(lambda (#{ids\ 1391}#)
(begin
(let ((#{t\ 1394}# (null? #{ids\ 1391}#)))
(if #{t\ 1394}#
#{t\ 1394}#
(if (#{id?\ 379}# (car #{ids\ 1391}#))
(#{all-ids?\ 1390}# (cdr #{ids\ 1391}#))
#f)))))))
(begin (#{all-ids?\ 1390}# #{ids\ 1385}#)))
(#{distinct-bound-ids?\ 444}# #{ids\ 1385}#)
#f)))
(#{distinct-bound-ids?\ 444}#
(lambda (#{ids\ 1399}#)
(letrec*
((#{distinct?\ 1403}#
(lambda (#{ids\ 1404}#)
(begin
(let ((#{t\ 1407}# (null? #{ids\ 1404}#)))
(if #{t\ 1407}#
#{t\ 1407}#
(if (not (#{bound-id-member?\ 446}#
(car #{ids\ 1404}#)
(cdr #{ids\ 1404}#)))
(#{distinct?\ 1403}# (cdr #{ids\ 1404}#))
#f)))))))
(begin (#{distinct?\ 1403}# #{ids\ 1399}#)))))
(#{bound-id-member?\ 446}#
(lambda (#{x\ 1411}# #{list\ 1412}#)
(if (not (null? #{list\ 1412}#))
(begin
(let ((#{t\ 1419}#
(#{bound-id=?\ 440}#
#{x\ 1411}#
(car #{list\ 1412}#))))
(if #{t\ 1419}#
#{t\ 1419}#
(#{bound-id-member?\ 446}#
#{x\ 1411}#
(cdr #{list\ 1412}#)))))
#f)))
(#{wrap\ 448}#
(lambda (#{x\ 1421}# #{w\ 1422}# #{defmod\ 1423}#)
(if (if (null? (#{wrap-marks\ 386}# #{w\ 1422}#))
(null? (#{wrap-subst\ 388}# #{w\ 1422}#))
#f)
#{x\ 1421}#
(if (#{syntax-object?\ 343}# #{x\ 1421}#)
(#{make-syntax-object\ 341}#
(#{syntax-object-expression\ 345}# #{x\ 1421}#)
(#{join-wraps\ 430}#
#{w\ 1422}#
(#{syntax-object-wrap\ 347}# #{x\ 1421}#))
(#{syntax-object-module\ 349}# #{x\ 1421}#))
(if (null? #{x\ 1421}#)
#{x\ 1421}#
(#{make-syntax-object\ 341}#
#{x\ 1421}#
#{w\ 1422}#
#{defmod\ 1423}#))))))
(#{source-wrap\ 450}#
(lambda (#{x\ 1436}#
#{w\ 1437}#
#{s\ 1438}#
#{defmod\ 1439}#)
(#{wrap\ 448}#
(#{decorate-source\ 297}#
#{x\ 1436}#
#{s\ 1438}#)
#{w\ 1437}#
#{defmod\ 1439}#)))
(#{chi-sequence\ 452}#
(lambda (#{body\ 1444}#
#{r\ 1445}#
#{w\ 1446}#
#{s\ 1447}#
#{mod\ 1448}#)
(#{build-sequence\ 331}#
#{s\ 1447}#
(letrec*
((#{dobody\ 1459}#
(lambda (#{body\ 1460}#
#{r\ 1461}#
#{w\ 1462}#
#{mod\ 1463}#)
(if (null? #{body\ 1460}#)
'()
(begin
(let ((#{first\ 1465}#
(#{chi\ 464}#
(car #{body\ 1460}#)
#{r\ 1461}#
#{w\ 1462}#
#{mod\ 1463}#)))
(cons #{first\ 1465}#
(#{dobody\ 1459}#
(cdr #{body\ 1460}#)
#{r\ 1461}#
#{w\ 1462}#
#{mod\ 1463}#))))))))
(begin
(#{dobody\ 1459}#
#{body\ 1444}#
#{r\ 1445}#
#{w\ 1446}#
#{mod\ 1448}#))))))
(#{chi-top-sequence\ 454}#
(lambda (#{body\ 1466}#
#{r\ 1467}#
#{w\ 1468}#
#{s\ 1469}#
#{m\ 1470}#
#{esew\ 1471}#
#{mod\ 1472}#)
(#{build-sequence\ 331}#
#{s\ 1469}#
(letrec*
((#{dobody\ 1488}#
(lambda (#{body\ 1489}#
#{r\ 1490}#
#{w\ 1491}#
#{m\ 1492}#
#{esew\ 1493}#
#{mod\ 1494}#
#{out\ 1495}#)
(if (null? #{body\ 1489}#)
(reverse #{out\ 1495}#)
(#{dobody\ 1488}#
(cdr #{body\ 1489}#)
#{r\ 1490}#
#{w\ 1491}#
#{m\ 1492}#
#{esew\ 1493}#
#{mod\ 1494}#
(cons (#{chi-top\ 462}#
(car #{body\ 1489}#)
#{r\ 1490}#
#{w\ 1491}#
#{m\ 1492}#
#{esew\ 1493}#
#{mod\ 1494}#)
#{out\ 1495}#))))))
(begin
(#{dobody\ 1488}#
#{body\ 1466}#
#{r\ 1467}#
#{w\ 1468}#
#{m\ 1470}#
#{esew\ 1471}#
#{mod\ 1472}#
'()))))))
(#{chi-install-global\ 456}#
(lambda (#{name\ 1496}# #{e\ 1497}#)
(#{build-global-definition\ 319}#
#f
#{name\ 1496}#
(#{build-application\ 303}#
#f
(#{build-primref\ 327}#
#f
'make-syntax-transformer)
(list (#{build-data\ 329}# #f #{name\ 1496}#)
(#{build-data\ 329}# #f (quote macro))
#{e\ 1497}#)))))
(#{chi-when-list\ 458}#
(lambda (#{e\ 1505}# #{when-list\ 1506}# #{w\ 1507}#)
(letrec*
((#{f\ 1514}#
(lambda (#{when-list\ 1515}# #{situations\ 1516}#)
(if (null? #{when-list\ 1515}#)
#{situations\ 1516}#
(#{f\ 1514}#
(cdr #{when-list\ 1515}#)
(cons (begin
(let ((#{x\ 1518}# (car #{when-list\ 1515}#)))
(if (#{free-id=?\ 438}#
#{x\ 1518}#
'#(syntax-object
compile
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i1517"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
#("i1511" "i1512" "i1513"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i1508" "i1509" "i1510"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(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=?\ 438}#
#{x\ 1518}#
'#(syntax-object
load
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i1517"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
#("i1511" "i1512" "i1513"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i1508" "i1509" "i1510"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(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=?\ 438}#
#{x\ 1518}#
'#(syntax-object
eval
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i1517"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
#("i1511" "i1512" "i1513"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i1508" "i1509" "i1510"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(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=?\ 438}#
#{x\ 1518}#
'#(syntax-object
expand
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i1517"))
#(ribcage () () ())
#(ribcage
#(f when-list situations)
#((top) (top) (top))
#("i1511" "i1512" "i1513"))
#(ribcage () () ())
#(ribcage
#(e when-list w)
#((top) (top) (top))
#("i1508" "i1509" "i1510"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(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\ 1505}#
(#{wrap\ 448}#
#{x\ 1518}#
#{w\ 1507}#
#f))))))))
#{situations\ 1516}#))))))
(begin
(#{f\ 1514}# #{when-list\ 1506}# (quote ()))))))
(#{syntax-type\ 460}#
(lambda (#{e\ 1528}#
#{r\ 1529}#
#{w\ 1530}#
#{s\ 1531}#
#{rib\ 1532}#
#{mod\ 1533}#
#{for-car?\ 1534}#)
(if (symbol? #{e\ 1528}#)
(begin
(let ((#{n\ 1546}#
(#{id-var-name\ 436}# #{e\ 1528}# #{w\ 1530}#)))
(begin
(let ((#{b\ 1548}#
(#{lookup\ 373}#
#{n\ 1546}#
#{r\ 1529}#
#{mod\ 1533}#)))
(begin
(let ((#{type\ 1550}#
(#{binding-type\ 362}# #{b\ 1548}#)))
(if (eqv? #{type\ 1550}# (quote lexical))
(values
#{type\ 1550}#
(#{binding-value\ 364}# #{b\ 1548}#)
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(if (eqv? #{type\ 1550}# (quote global))
(values
#{type\ 1550}#
#{n\ 1546}#
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(if (eqv? #{type\ 1550}# (quote macro))
(if #{for-car?\ 1534}#
(values
#{type\ 1550}#
(#{binding-value\ 364}# #{b\ 1548}#)
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(#{syntax-type\ 460}#
(#{chi-macro\ 470}#
(#{binding-value\ 364}# #{b\ 1548}#)
#{e\ 1528}#
#{r\ 1529}#
#{w\ 1530}#
#{s\ 1531}#
#{rib\ 1532}#
#{mod\ 1533}#)
#{r\ 1529}#
'(())
#{s\ 1531}#
#{rib\ 1532}#
#{mod\ 1533}#
#f))
(values
#{type\ 1550}#
(#{binding-value\ 364}# #{b\ 1548}#)
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#))))))))))
(if (pair? #{e\ 1528}#)
(begin
(let ((#{first\ 1559}# (car #{e\ 1528}#)))
(call-with-values
(lambda ()
(#{syntax-type\ 460}#
#{first\ 1559}#
#{r\ 1529}#
#{w\ 1530}#
#{s\ 1531}#
#{rib\ 1532}#
#{mod\ 1533}#
#t))
(lambda (#{ftype\ 1560}#
#{fval\ 1561}#
#{fe\ 1562}#
#{fw\ 1563}#
#{fs\ 1564}#
#{fmod\ 1565}#)
(if (eqv? #{ftype\ 1560}# (quote lexical))
(values
'lexical-call
#{fval\ 1561}#
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(if (eqv? #{ftype\ 1560}# (quote global))
(values
'global-call
(#{make-syntax-object\ 341}#
#{fval\ 1561}#
#{w\ 1530}#
#{fmod\ 1565}#)
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(if (eqv? #{ftype\ 1560}# (quote macro))
(#{syntax-type\ 460}#
(#{chi-macro\ 470}#
#{fval\ 1561}#
#{e\ 1528}#
#{r\ 1529}#
#{w\ 1530}#
#{s\ 1531}#
#{rib\ 1532}#
#{mod\ 1533}#)
#{r\ 1529}#
'(())
#{s\ 1531}#
#{rib\ 1532}#
#{mod\ 1533}#
#{for-car?\ 1534}#)
(if (eqv? #{ftype\ 1560}# (quote module-ref))
(call-with-values
(lambda ()
(#{fval\ 1561}#
#{e\ 1528}#
#{r\ 1529}#
#{w\ 1530}#))
(lambda (#{e\ 1577}#
#{r\ 1578}#
#{w\ 1579}#
#{s\ 1580}#
#{mod\ 1581}#)
(#{syntax-type\ 460}#
#{e\ 1577}#
#{r\ 1578}#
#{w\ 1579}#
#{s\ 1580}#
#{rib\ 1532}#
#{mod\ 1581}#
#{for-car?\ 1534}#)))
(if (eqv? #{ftype\ 1560}# (quote core))
(values
'core-form
#{fval\ 1561}#
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(if (eqv? #{ftype\ 1560}#
'local-syntax)
(values
'local-syntax-form
#{fval\ 1561}#
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(if (eqv? #{ftype\ 1560}# (quote begin))
(values
'begin-form
#f
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(if (eqv? #{ftype\ 1560}#
'eval-when)
(values
'eval-when-form
#f
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(if (eqv? #{ftype\ 1560}#
'define)
(let ((#{tmp\ 1592}# #{e\ 1528}#))
(let ((#{tmp\ 1593}#
($sc-dispatch
#{tmp\ 1592}#
'(_ any any))))
(if (if #{tmp\ 1593}#
(@apply
(lambda (#{name\ 1596}#
#{val\ 1597}#)
(#{id?\ 379}#
#{name\ 1596}#))
#{tmp\ 1593}#)
#f)
(@apply
(lambda (#{name\ 1600}#
#{val\ 1601}#)
(values
'define-form
#{name\ 1600}#
#{val\ 1601}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#))
#{tmp\ 1593}#)
(let ((#{tmp\ 1602}#
($sc-dispatch
#{tmp\ 1592}#
'(_ (any . any)
any
.
each-any))))
(if (if #{tmp\ 1602}#
(@apply
(lambda (#{name\ 1607}#
#{args\ 1608}#
#{e1\ 1609}#
#{e2\ 1610}#)
(if (#{id?\ 379}#
#{name\ 1607}#)
(#{valid-bound-ids?\ 442}#
(#{lambda-var-list\ 494}#
#{args\ 1608}#))
#f))
#{tmp\ 1602}#)
#f)
(@apply
(lambda (#{name\ 1617}#
#{args\ 1618}#
#{e1\ 1619}#
#{e2\ 1620}#)
(values
'define-form
(#{wrap\ 448}#
#{name\ 1617}#
#{w\ 1530}#
#{mod\ 1533}#)
(#{decorate-source\ 297}#
(cons '#(syntax-object
lambda
((top)
#(ribcage
#(name
args
e1
e2)
#((top)
(top)
(top)
(top))
#("i1613"
"i1614"
"i1615"
"i1616"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i1566"
"i1567"
"i1568"
"i1569"
"i1570"
"i1571"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i1558"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i1535"
"i1536"
"i1537"
"i1538"
"i1539"
"i1540"
"i1541"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top)
(top)
(top)
(top))
("i38"
"i37"
"i36"
"i34")))
(hygiene
guile))
(#{wrap\ 448}#
(cons #{args\ 1618}#
(cons #{e1\ 1619}#
#{e2\ 1620}#))
#{w\ 1530}#
#{mod\ 1533}#))
#{s\ 1531}#)
'(())
#{s\ 1531}#
#{mod\ 1533}#))
#{tmp\ 1602}#)
(let ((#{tmp\ 1623}#
($sc-dispatch
#{tmp\ 1592}#
'(_ any))))
(if (if #{tmp\ 1623}#
(@apply
(lambda (#{name\ 1625}#)
(#{id?\ 379}#
#{name\ 1625}#))
#{tmp\ 1623}#)
#f)
(@apply
(lambda (#{name\ 1627}#)
(values
'define-form
(#{wrap\ 448}#
#{name\ 1627}#
#{w\ 1530}#
#{mod\ 1533}#)
'(#(syntax-object
if
((top)
#(ribcage
#(name)
#((top))
#("i1626"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i1566"
"i1567"
"i1568"
"i1569"
"i1570"
"i1571"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i1558"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i1535"
"i1536"
"i1537"
"i1538"
"i1539"
"i1540"
"i1541"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(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))
#("i1626"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i1566"
"i1567"
"i1568"
"i1569"
"i1570"
"i1571"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i1558"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i1535"
"i1536"
"i1537"
"i1538"
"i1539"
"i1540"
"i1541"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(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))
#("i1626"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(ftype
fval
fe
fw
fs
fmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i1566"
"i1567"
"i1568"
"i1569"
"i1570"
"i1571"))
#(ribcage
()
()
())
#(ribcage
#(first)
#((top))
#("i1558"))
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
()
()
())
#(ribcage
#(e
r
w
s
rib
mod
for-car?)
#((top)
(top)
(top)
(top)
(top)
(top)
(top))
#("i1535"
"i1536"
"i1537"
"i1538"
"i1539"
"i1540"
"i1541"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top)
(top)
(top)
(top))
("i38"
"i37"
"i36"
"i34")))
(hygiene
guile)))
'(())
#{s\ 1531}#
#{mod\ 1533}#))
#{tmp\ 1623}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1592}#))))))))
(if (eqv? #{ftype\ 1560}#
'define-syntax)
(let ((#{tmp\ 1630}# #{e\ 1528}#))
(let ((#{tmp\ 1631}#
($sc-dispatch
#{tmp\ 1630}#
'(_ any any))))
(if (if #{tmp\ 1631}#
(@apply
(lambda (#{name\ 1634}#
#{val\ 1635}#)
(#{id?\ 379}#
#{name\ 1634}#))
#{tmp\ 1631}#)
#f)
(@apply
(lambda (#{name\ 1638}#
#{val\ 1639}#)
(values
'define-syntax-form
#{name\ 1638}#
#{val\ 1639}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#))
#{tmp\ 1631}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1630}#))))
(values
'call
#f
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)))))))))))))))
(if (#{syntax-object?\ 343}# #{e\ 1528}#)
(#{syntax-type\ 460}#
(#{syntax-object-expression\ 345}# #{e\ 1528}#)
#{r\ 1529}#
(#{join-wraps\ 430}#
#{w\ 1530}#
(#{syntax-object-wrap\ 347}# #{e\ 1528}#))
(begin
(let ((#{t\ 1645}#
(#{source-annotation\ 358}# #{e\ 1528}#)))
(if #{t\ 1645}# #{t\ 1645}# #{s\ 1531}#)))
#{rib\ 1532}#
(begin
(let ((#{t\ 1649}#
(#{syntax-object-module\ 349}# #{e\ 1528}#)))
(if #{t\ 1649}# #{t\ 1649}# #{mod\ 1533}#)))
#{for-car?\ 1534}#)
(if (self-evaluating? #{e\ 1528}#)
(values
'constant
#f
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)
(values
'other
#f
#{e\ 1528}#
#{w\ 1530}#
#{s\ 1531}#
#{mod\ 1533}#)))))))
(#{chi-top\ 462}#
(lambda (#{e\ 1654}#
#{r\ 1655}#
#{w\ 1656}#
#{m\ 1657}#
#{esew\ 1658}#
#{mod\ 1659}#)
(call-with-values
(lambda ()
(#{syntax-type\ 460}#
#{e\ 1654}#
#{r\ 1655}#
#{w\ 1656}#
(#{source-annotation\ 358}# #{e\ 1654}#)
#f
#{mod\ 1659}#
#f))
(lambda (#{type\ 1680}#
#{value\ 1681}#
#{e\ 1682}#
#{w\ 1683}#
#{s\ 1684}#
#{mod\ 1685}#)
(if (eqv? #{type\ 1680}# (quote begin-form))
(let ((#{tmp\ 1693}# #{e\ 1682}#))
(let ((#{tmp\ 1694}#
($sc-dispatch #{tmp\ 1693}# (quote (_)))))
(if #{tmp\ 1694}#
(@apply
(lambda () (#{chi-void\ 478}#))
#{tmp\ 1694}#)
(let ((#{tmp\ 1695}#
($sc-dispatch
#{tmp\ 1693}#
'(_ any . each-any))))
(if #{tmp\ 1695}#
(@apply
(lambda (#{e1\ 1698}# #{e2\ 1699}#)
(#{chi-top-sequence\ 454}#
(cons #{e1\ 1698}# #{e2\ 1699}#)
#{r\ 1655}#
#{w\ 1683}#
#{s\ 1684}#
#{m\ 1657}#
#{esew\ 1658}#
#{mod\ 1685}#))
#{tmp\ 1695}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1693}#))))))
(if (eqv? #{type\ 1680}# (quote local-syntax-form))
(#{chi-local-syntax\ 474}#
#{value\ 1681}#
#{e\ 1682}#
#{r\ 1655}#
#{w\ 1683}#
#{s\ 1684}#
#{mod\ 1685}#
(lambda (#{body\ 1702}#
#{r\ 1703}#
#{w\ 1704}#
#{s\ 1705}#
#{mod\ 1706}#)
(#{chi-top-sequence\ 454}#
#{body\ 1702}#
#{r\ 1703}#
#{w\ 1704}#
#{s\ 1705}#
#{m\ 1657}#
#{esew\ 1658}#
#{mod\ 1706}#)))
(if (eqv? #{type\ 1680}# (quote eval-when-form))
(let ((#{tmp\ 1713}# #{e\ 1682}#))
(let ((#{tmp\ 1714}#
($sc-dispatch
#{tmp\ 1713}#
'(_ each-any any . each-any))))
(if #{tmp\ 1714}#
(@apply
(lambda (#{x\ 1718}# #{e1\ 1719}# #{e2\ 1720}#)
(begin
(let ((#{when-list\ 1723}#
(#{chi-when-list\ 458}#
#{e\ 1682}#
#{x\ 1718}#
#{w\ 1683}#))
(#{body\ 1724}#
(cons #{e1\ 1719}# #{e2\ 1720}#)))
(if (eq? #{m\ 1657}# (quote e))
(if (memq 'eval
#{when-list\ 1723}#)
(#{chi-top-sequence\ 454}#
#{body\ 1724}#
#{r\ 1655}#
#{w\ 1683}#
#{s\ 1684}#
(if (memq 'expand
#{when-list\ 1723}#)
'c&e
'e)
'(eval)
#{mod\ 1685}#)
(begin
(if (memq 'expand
#{when-list\ 1723}#)
(#{top-level-eval-hook\ 288}#
(#{chi-top-sequence\ 454}#
#{body\ 1724}#
#{r\ 1655}#
#{w\ 1683}#
#{s\ 1684}#
'e
'(eval)
#{mod\ 1685}#)
#{mod\ 1685}#))
(#{chi-void\ 478}#)))
(if (memq 'load
#{when-list\ 1723}#)
(if (begin
(let ((#{t\ 1733}#
(memq 'compile
#{when-list\ 1723}#)))
(if #{t\ 1733}#
#{t\ 1733}#
(begin
(let ((#{t\ 1736}#
(memq 'expand
#{when-list\ 1723}#)))
(if #{t\ 1736}#
#{t\ 1736}#
(if (eq? #{m\ 1657}#
'c&e)
(memq 'eval
#{when-list\ 1723}#)
#f)))))))
(#{chi-top-sequence\ 454}#
#{body\ 1724}#
#{r\ 1655}#
#{w\ 1683}#
#{s\ 1684}#
'c&e
'(compile load)
#{mod\ 1685}#)
(if (if (eq? #{m\ 1657}# (quote c))
#t
(eq? #{m\ 1657}# (quote c&e)))
(#{chi-top-sequence\ 454}#
#{body\ 1724}#
#{r\ 1655}#
#{w\ 1683}#
#{s\ 1684}#
'c
'(load)
#{mod\ 1685}#)
(#{chi-void\ 478}#)))
(if (begin
(let ((#{t\ 1744}#
(memq 'compile
#{when-list\ 1723}#)))
(if #{t\ 1744}#
#{t\ 1744}#
(begin
(let ((#{t\ 1747}#
(memq 'expand
#{when-list\ 1723}#)))
(if #{t\ 1747}#
#{t\ 1747}#
(if (eq? #{m\ 1657}#
'c&e)
(memq 'eval
#{when-list\ 1723}#)
#f)))))))
(begin
(#{top-level-eval-hook\ 288}#
(#{chi-top-sequence\ 454}#
#{body\ 1724}#
#{r\ 1655}#
#{w\ 1683}#
#{s\ 1684}#
'e
'(eval)
#{mod\ 1685}#)
#{mod\ 1685}#)
(#{chi-void\ 478}#))
(#{chi-void\ 478}#)))))))
#{tmp\ 1714}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1713}#))))
(if (eqv? #{type\ 1680}# (quote define-syntax-form))
(begin
(let ((#{n\ 1755}#
(#{id-var-name\ 436}#
#{value\ 1681}#
#{w\ 1683}#))
(#{r\ 1756}#
(#{macros-only-env\ 371}# #{r\ 1655}#)))
(if (eqv? #{m\ 1657}# (quote c))
(if (memq (quote compile) #{esew\ 1658}#)
(begin
(let ((#{e\ 1759}#
(#{chi-install-global\ 456}#
#{n\ 1755}#
(#{chi\ 464}#
#{e\ 1682}#
#{r\ 1756}#
#{w\ 1683}#
#{mod\ 1685}#))))
(begin
(#{top-level-eval-hook\ 288}#
#{e\ 1759}#
#{mod\ 1685}#)
(if (memq (quote load) #{esew\ 1658}#)
#{e\ 1759}#
(#{chi-void\ 478}#)))))
(if (memq (quote load) #{esew\ 1658}#)
(#{chi-install-global\ 456}#
#{n\ 1755}#
(#{chi\ 464}#
#{e\ 1682}#
#{r\ 1756}#
#{w\ 1683}#
#{mod\ 1685}#))
(#{chi-void\ 478}#)))
(if (eqv? #{m\ 1657}# (quote c&e))
(begin
(let ((#{e\ 1762}#
(#{chi-install-global\ 456}#
#{n\ 1755}#
(#{chi\ 464}#
#{e\ 1682}#
#{r\ 1756}#
#{w\ 1683}#
#{mod\ 1685}#))))
(begin
(#{top-level-eval-hook\ 288}#
#{e\ 1762}#
#{mod\ 1685}#)
#{e\ 1762}#)))
(begin
(if (memq (quote eval) #{esew\ 1658}#)
(#{top-level-eval-hook\ 288}#
(#{chi-install-global\ 456}#
#{n\ 1755}#
(#{chi\ 464}#
#{e\ 1682}#
#{r\ 1756}#
#{w\ 1683}#
#{mod\ 1685}#))
#{mod\ 1685}#))
(#{chi-void\ 478}#))))))
(if (eqv? #{type\ 1680}# (quote define-form))
(begin
(let ((#{n\ 1767}#
(#{id-var-name\ 436}#
#{value\ 1681}#
#{w\ 1683}#)))
(begin
(let ((#{type\ 1769}#
(#{binding-type\ 362}#
(#{lookup\ 373}#
#{n\ 1767}#
#{r\ 1655}#
#{mod\ 1685}#))))
(if (if (eqv? #{type\ 1769}# (quote global))
#t
(if (eqv? #{type\ 1769}# (quote core))
#t
(if (eqv? #{type\ 1769}#
'macro)
#t
(eqv? #{type\ 1769}#
'module-ref))))
(begin
(if (if (if (eq? #{m\ 1657}# (quote c))
#t
(eq? #{m\ 1657}# (quote c&e)))
(if (not (module-local-variable
(current-module)
#{n\ 1767}#))
(current-module)
#f)
#f)
(begin
(let ((#{old\ 1775}#
(module-variable
(current-module)
#{n\ 1767}#)))
(module-define!
(current-module)
#{n\ 1767}#
(if (variable? #{old\ 1775}#)
(variable-ref #{old\ 1775}#)
#f)))))
(begin
(let ((#{x\ 1778}#
(#{build-global-definition\ 319}#
#{s\ 1684}#
#{n\ 1767}#
(#{chi\ 464}#
#{e\ 1682}#
#{r\ 1655}#
#{w\ 1683}#
#{mod\ 1685}#))))
(begin
(if (eq? #{m\ 1657}# (quote c&e))
(#{top-level-eval-hook\ 288}#
#{x\ 1778}#
#{mod\ 1685}#))
#{x\ 1778}#))))
(if (eqv? #{type\ 1769}#
'displaced-lexical)
(syntax-violation
#f
"identifier out of context"
#{e\ 1682}#
(#{wrap\ 448}#
#{value\ 1681}#
#{w\ 1683}#
#{mod\ 1685}#))
(syntax-violation
#f
"cannot define keyword at top level"
#{e\ 1682}#
(#{wrap\ 448}#
#{value\ 1681}#
#{w\ 1683}#
#{mod\ 1685}#))))))))
(begin
(let ((#{x\ 1784}#
(#{chi-expr\ 466}#
#{type\ 1680}#
#{value\ 1681}#
#{e\ 1682}#
#{r\ 1655}#
#{w\ 1683}#
#{s\ 1684}#
#{mod\ 1685}#)))
(begin
(if (eq? #{m\ 1657}# (quote c&e))
(#{top-level-eval-hook\ 288}#
#{x\ 1784}#
#{mod\ 1685}#))
#{x\ 1784}#))))))))))))
(#{chi\ 464}#
(lambda (#{e\ 1785}#
#{r\ 1786}#
#{w\ 1787}#
#{mod\ 1788}#)
(call-with-values
(lambda ()
(#{syntax-type\ 460}#
#{e\ 1785}#
#{r\ 1786}#
#{w\ 1787}#
(#{source-annotation\ 358}# #{e\ 1785}#)
#f
#{mod\ 1788}#
#f))
(lambda (#{type\ 1793}#
#{value\ 1794}#
#{e\ 1795}#
#{w\ 1796}#
#{s\ 1797}#
#{mod\ 1798}#)
(#{chi-expr\ 466}#
#{type\ 1793}#
#{value\ 1794}#
#{e\ 1795}#
#{r\ 1786}#
#{w\ 1796}#
#{s\ 1797}#
#{mod\ 1798}#)))))
(#{chi-expr\ 466}#
(lambda (#{type\ 1805}#
#{value\ 1806}#
#{e\ 1807}#
#{r\ 1808}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#)
(if (eqv? #{type\ 1805}# (quote lexical))
(#{build-lexical-reference\ 309}#
'value
#{s\ 1810}#
#{e\ 1807}#
#{value\ 1806}#)
(if (if (eqv? #{type\ 1805}# (quote core))
#t
(eqv? #{type\ 1805}# (quote core-form)))
(#{value\ 1806}#
#{e\ 1807}#
#{r\ 1808}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#)
(if (eqv? #{type\ 1805}# (quote module-ref))
(call-with-values
(lambda ()
(#{value\ 1806}#
#{e\ 1807}#
#{r\ 1808}#
#{w\ 1809}#))
(lambda (#{e\ 1822}#
#{r\ 1823}#
#{w\ 1824}#
#{s\ 1825}#
#{mod\ 1826}#)
(#{chi\ 464}#
#{e\ 1822}#
#{r\ 1823}#
#{w\ 1824}#
#{mod\ 1826}#)))
(if (eqv? #{type\ 1805}# (quote lexical-call))
(#{chi-application\ 468}#
(begin
(let ((#{id\ 1834}# (car #{e\ 1807}#)))
(#{build-lexical-reference\ 309}#
'fun
(#{source-annotation\ 358}# #{id\ 1834}#)
(if (#{syntax-object?\ 343}# #{id\ 1834}#)
(syntax->datum #{id\ 1834}#)
#{id\ 1834}#)
#{value\ 1806}#)))
#{e\ 1807}#
#{r\ 1808}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#)
(if (eqv? #{type\ 1805}# (quote global-call))
(#{chi-application\ 468}#
(#{build-global-reference\ 315}#
(#{source-annotation\ 358}# (car #{e\ 1807}#))
(if (#{syntax-object?\ 343}# #{value\ 1806}#)
(#{syntax-object-expression\ 345}#
#{value\ 1806}#)
#{value\ 1806}#)
(if (#{syntax-object?\ 343}# #{value\ 1806}#)
(#{syntax-object-module\ 349}# #{value\ 1806}#)
#{mod\ 1811}#))
#{e\ 1807}#
#{r\ 1808}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#)
(if (eqv? #{type\ 1805}# (quote constant))
(#{build-data\ 329}#
#{s\ 1810}#
(#{strip\ 490}#
(#{source-wrap\ 450}#
#{e\ 1807}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#)
'(())))
(if (eqv? #{type\ 1805}# (quote global))
(#{build-global-reference\ 315}#
#{s\ 1810}#
#{value\ 1806}#
#{mod\ 1811}#)
(if (eqv? #{type\ 1805}# (quote call))
(#{chi-application\ 468}#
(#{chi\ 464}#
(car #{e\ 1807}#)
#{r\ 1808}#
#{w\ 1809}#
#{mod\ 1811}#)
#{e\ 1807}#
#{r\ 1808}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#)
(if (eqv? #{type\ 1805}# (quote begin-form))
(let ((#{tmp\ 1841}# #{e\ 1807}#))
(let ((#{tmp\ 1842}#
($sc-dispatch
#{tmp\ 1841}#
'(_ any . each-any))))
(if #{tmp\ 1842}#
(@apply
(lambda (#{e1\ 1845}# #{e2\ 1846}#)
(#{chi-sequence\ 452}#
(cons #{e1\ 1845}# #{e2\ 1846}#)
#{r\ 1808}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#))
#{tmp\ 1842}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1841}#))))
(if (eqv? #{type\ 1805}#
'local-syntax-form)
(#{chi-local-syntax\ 474}#
#{value\ 1806}#
#{e\ 1807}#
#{r\ 1808}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#
#{chi-sequence\ 452}#)
(if (eqv? #{type\ 1805}#
'eval-when-form)
(let ((#{tmp\ 1850}# #{e\ 1807}#))
(let ((#{tmp\ 1851}#
($sc-dispatch
#{tmp\ 1850}#
'(_ each-any any . each-any))))
(if #{tmp\ 1851}#
(@apply
(lambda (#{x\ 1855}#
#{e1\ 1856}#
#{e2\ 1857}#)
(begin
(let ((#{when-list\ 1859}#
(#{chi-when-list\ 458}#
#{e\ 1807}#
#{x\ 1855}#
#{w\ 1809}#)))
(if (memq 'eval
#{when-list\ 1859}#)
(#{chi-sequence\ 452}#
(cons #{e1\ 1856}#
#{e2\ 1857}#)
#{r\ 1808}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#)
(#{chi-void\ 478}#)))))
#{tmp\ 1851}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1850}#))))
(if (if (eqv? #{type\ 1805}#
'define-form)
#t
(eqv? #{type\ 1805}#
'define-syntax-form))
(syntax-violation
#f
"definition in expression context"
#{e\ 1807}#
(#{wrap\ 448}#
#{value\ 1806}#
#{w\ 1809}#
#{mod\ 1811}#))
(if (eqv? #{type\ 1805}# (quote syntax))
(syntax-violation
#f
"reference to pattern variable outside syntax form"
(#{source-wrap\ 450}#
#{e\ 1807}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#))
(if (eqv? #{type\ 1805}#
'displaced-lexical)
(syntax-violation
#f
"reference to identifier outside its scope"
(#{source-wrap\ 450}#
#{e\ 1807}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#))
(syntax-violation
#f
"unexpected syntax"
(#{source-wrap\ 450}#
#{e\ 1807}#
#{w\ 1809}#
#{s\ 1810}#
#{mod\ 1811}#))))))))))))))))))
(#{chi-application\ 468}#
(lambda (#{x\ 1866}#
#{e\ 1867}#
#{r\ 1868}#
#{w\ 1869}#
#{s\ 1870}#
#{mod\ 1871}#)
(let ((#{tmp\ 1878}# #{e\ 1867}#))
(let ((#{tmp\ 1879}#
($sc-dispatch
#{tmp\ 1878}#
'(any . each-any))))
(if #{tmp\ 1879}#
(@apply
(lambda (#{e0\ 1882}# #{e1\ 1883}#)
(#{build-application\ 303}#
#{s\ 1870}#
#{x\ 1866}#
(map (lambda (#{e\ 1884}#)
(#{chi\ 464}#
#{e\ 1884}#
#{r\ 1868}#
#{w\ 1869}#
#{mod\ 1871}#))
#{e1\ 1883}#)))
#{tmp\ 1879}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 1878}#))))))
(#{chi-macro\ 470}#
(lambda (#{p\ 1887}#
#{e\ 1888}#
#{r\ 1889}#
#{w\ 1890}#
#{s\ 1891}#
#{rib\ 1892}#
#{mod\ 1893}#)
(letrec*
((#{rebuild-macro-output\ 1902}#
(lambda (#{x\ 1903}# #{m\ 1904}#)
(if (pair? #{x\ 1903}#)
(#{decorate-source\ 297}#
(cons (#{rebuild-macro-output\ 1902}#
(car #{x\ 1903}#)
#{m\ 1904}#)
(#{rebuild-macro-output\ 1902}#
(cdr #{x\ 1903}#)
#{m\ 1904}#))
#{s\ 1891}#)
(if (#{syntax-object?\ 343}# #{x\ 1903}#)
(begin
(let ((#{w\ 1912}#
(#{syntax-object-wrap\ 347}# #{x\ 1903}#)))
(begin
(let ((#{ms\ 1915}#
(#{wrap-marks\ 386}# #{w\ 1912}#))
(#{s\ 1916}#
(#{wrap-subst\ 388}# #{w\ 1912}#)))
(if (if (pair? #{ms\ 1915}#)
(eq? (car #{ms\ 1915}#) #f)
#f)
(#{make-syntax-object\ 341}#
(#{syntax-object-expression\ 345}#
#{x\ 1903}#)
(#{make-wrap\ 384}#
(cdr #{ms\ 1915}#)
(if #{rib\ 1892}#
(cons #{rib\ 1892}# (cdr #{s\ 1916}#))
(cdr #{s\ 1916}#)))
(#{syntax-object-module\ 349}#
#{x\ 1903}#))
(#{make-syntax-object\ 341}#
(#{decorate-source\ 297}#
(#{syntax-object-expression\ 345}#
#{x\ 1903}#)
#{s\ 1916}#)
(#{make-wrap\ 384}#
(cons #{m\ 1904}# #{ms\ 1915}#)
(if #{rib\ 1892}#
(cons #{rib\ 1892}#
(cons (quote shift) #{s\ 1916}#))
(cons (quote shift) #{s\ 1916}#)))
(#{syntax-object-module\ 349}#
#{x\ 1903}#)))))))
(if (vector? #{x\ 1903}#)
(begin
(let ((#{n\ 1924}# (vector-length #{x\ 1903}#)))
(begin
(let ((#{v\ 1926}#
(#{decorate-source\ 297}#
(make-vector #{n\ 1924}#)
#{x\ 1903}#)))
(letrec*
((#{loop\ 1929}#
(lambda (#{i\ 1930}#)
(if (#{fx=\ 284}#
#{i\ 1930}#
#{n\ 1924}#)
(begin (if #f #f) #{v\ 1926}#)
(begin
(vector-set!
#{v\ 1926}#
#{i\ 1930}#
(#{rebuild-macro-output\ 1902}#
(vector-ref
#{x\ 1903}#
#{i\ 1930}#)
#{m\ 1904}#))
(#{loop\ 1929}#
(#{fx+\ 280}#
#{i\ 1930}#
1)))))))
(begin (#{loop\ 1929}# 0)))))))
(if (symbol? #{x\ 1903}#)
(syntax-violation
#f
"encountered raw symbol in macro output"
(#{source-wrap\ 450}#
#{e\ 1888}#
#{w\ 1890}#
(#{wrap-subst\ 388}# #{w\ 1890}#)
#{mod\ 1893}#)
#{x\ 1903}#)
(#{decorate-source\ 297}#
#{x\ 1903}#
#{s\ 1891}#))))))))
(begin
(#{rebuild-macro-output\ 1902}#
(#{p\ 1887}#
(#{source-wrap\ 450}#
#{e\ 1888}#
(#{anti-mark\ 420}# #{w\ 1890}#)
#{s\ 1891}#
#{mod\ 1893}#))
(gensym "m"))))))
(#{chi-body\ 472}#
(lambda (#{body\ 1937}#
#{outer-form\ 1938}#
#{r\ 1939}#
#{w\ 1940}#
#{mod\ 1941}#)
(begin
(let ((#{r\ 1949}#
(cons '("placeholder" placeholder)
#{r\ 1939}#)))
(begin
(let ((#{ribcage\ 1951}#
(#{make-ribcage\ 400}#
'()
'()
'())))
(begin
(let ((#{w\ 1954}#
(#{make-wrap\ 384}#
(#{wrap-marks\ 386}# #{w\ 1940}#)
(cons #{ribcage\ 1951}#
(#{wrap-subst\ 388}# #{w\ 1940}#)))))
(letrec*
((#{parse\ 1963}#
(lambda (#{body\ 1964}#
#{ids\ 1965}#
#{labels\ 1966}#
#{var-ids\ 1967}#
#{vars\ 1968}#
#{vals\ 1969}#
#{bindings\ 1970}#)
(if (null? #{body\ 1964}#)
(syntax-violation
#f
"no expressions in body"
#{outer-form\ 1938}#)
(begin
(let ((#{e\ 1975}#
(cdr (car #{body\ 1964}#)))
(#{er\ 1976}#
(car (car #{body\ 1964}#))))
(call-with-values
(lambda ()
(#{syntax-type\ 460}#
#{e\ 1975}#
#{er\ 1976}#
'(())
(#{source-annotation\ 358}#
#{er\ 1976}#)
#{ribcage\ 1951}#
#{mod\ 1941}#
#f))
(lambda (#{type\ 1978}#
#{value\ 1979}#
#{e\ 1980}#
#{w\ 1981}#
#{s\ 1982}#
#{mod\ 1983}#)
(if (eqv? #{type\ 1978}#
'define-form)
(begin
(let ((#{id\ 1993}#
(#{wrap\ 448}#
#{value\ 1979}#
#{w\ 1981}#
#{mod\ 1983}#))
(#{label\ 1994}#
(#{gen-label\ 395}#)))
(begin
(let ((#{var\ 1996}#
(#{gen-var\ 492}#
#{id\ 1993}#)))
(begin
(#{extend-ribcage!\ 424}#
#{ribcage\ 1951}#
#{id\ 1993}#
#{label\ 1994}#)
(#{parse\ 1963}#
(cdr #{body\ 1964}#)
(cons #{id\ 1993}#
#{ids\ 1965}#)
(cons #{label\ 1994}#
#{labels\ 1966}#)
(cons #{id\ 1993}#
#{var-ids\ 1967}#)
(cons #{var\ 1996}#
#{vars\ 1968}#)
(cons (cons #{er\ 1976}#
(#{wrap\ 448}#
#{e\ 1980}#
#{w\ 1981}#
#{mod\ 1983}#))
#{vals\ 1969}#)
(cons (cons 'lexical
#{var\ 1996}#)
#{bindings\ 1970}#)))))))
(if (eqv? #{type\ 1978}#
'define-syntax-form)
(begin
(let ((#{id\ 2001}#
(#{wrap\ 448}#
#{value\ 1979}#
#{w\ 1981}#
#{mod\ 1983}#))
(#{label\ 2002}#
(#{gen-label\ 395}#)))
(begin
(#{extend-ribcage!\ 424}#
#{ribcage\ 1951}#
#{id\ 2001}#
#{label\ 2002}#)
(#{parse\ 1963}#
(cdr #{body\ 1964}#)
(cons #{id\ 2001}#
#{ids\ 1965}#)
(cons #{label\ 2002}#
#{labels\ 1966}#)
#{var-ids\ 1967}#
#{vars\ 1968}#
#{vals\ 1969}#
(cons (cons 'macro
(cons #{er\ 1976}#
(#{wrap\ 448}#
#{e\ 1980}#
#{w\ 1981}#
#{mod\ 1983}#)))
#{bindings\ 1970}#)))))
(if (eqv? #{type\ 1978}#
'begin-form)
(let ((#{tmp\ 2005}#
#{e\ 1980}#))
(let ((#{tmp\ 2006}#
($sc-dispatch
#{tmp\ 2005}#
'(_ . each-any))))
(if #{tmp\ 2006}#
(@apply
(lambda (#{e1\ 2008}#)
(#{parse\ 1963}#
(letrec*
((#{f\ 2011}#
(lambda (#{forms\ 2012}#)
(if (null? #{forms\ 2012}#)
(cdr #{body\ 1964}#)
(cons (cons #{er\ 1976}#
(#{wrap\ 448}#
(car #{forms\ 2012}#)
#{w\ 1981}#
#{mod\ 1983}#))
(#{f\ 2011}#
(cdr #{forms\ 2012}#)))))))
(begin
(#{f\ 2011}#
#{e1\ 2008}#)))
#{ids\ 1965}#
#{labels\ 1966}#
#{var-ids\ 1967}#
#{vars\ 1968}#
#{vals\ 1969}#
#{bindings\ 1970}#))
#{tmp\ 2006}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2005}#))))
(if (eqv? #{type\ 1978}#
'local-syntax-form)
(#{chi-local-syntax\ 474}#
#{value\ 1979}#
#{e\ 1980}#
#{er\ 1976}#
#{w\ 1981}#
#{s\ 1982}#
#{mod\ 1983}#
(lambda (#{forms\ 2015}#
#{er\ 2016}#
#{w\ 2017}#
#{s\ 2018}#
#{mod\ 2019}#)
(#{parse\ 1963}#
(letrec*
((#{f\ 2027}#
(lambda (#{forms\ 2028}#)
(if (null? #{forms\ 2028}#)
(cdr #{body\ 1964}#)
(cons (cons #{er\ 2016}#
(#{wrap\ 448}#
(car #{forms\ 2028}#)
#{w\ 2017}#
#{mod\ 2019}#))
(#{f\ 2027}#
(cdr #{forms\ 2028}#)))))))
(begin
(#{f\ 2027}#
#{forms\ 2015}#)))
#{ids\ 1965}#
#{labels\ 1966}#
#{var-ids\ 1967}#
#{vars\ 1968}#
#{vals\ 1969}#
#{bindings\ 1970}#)))
(if (null? #{ids\ 1965}#)
(#{build-sequence\ 331}#
#f
(map (lambda (#{x\ 2031}#)
(#{chi\ 464}#
(cdr #{x\ 2031}#)
(car #{x\ 2031}#)
'(())
#{mod\ 1983}#))
(cons (cons #{er\ 1976}#
(#{source-wrap\ 450}#
#{e\ 1980}#
#{w\ 1981}#
#{s\ 1982}#
#{mod\ 1983}#))
(cdr #{body\ 1964}#))))
(begin
(if (not (#{valid-bound-ids?\ 442}#
#{ids\ 1965}#))
(syntax-violation
#f
"invalid or duplicate identifier in definition"
#{outer-form\ 1938}#))
(letrec*
((#{loop\ 2038}#
(lambda (#{bs\ 2039}#
#{er-cache\ 2040}#
#{r-cache\ 2041}#)
(if (not (null? #{bs\ 2039}#))
(begin
(let ((#{b\ 2044}#
(car #{bs\ 2039}#)))
(if (eq? (car #{b\ 2044}#)
'macro)
(begin
(let ((#{er\ 2047}#
(car (cdr #{b\ 2044}#))))
(begin
(let ((#{r-cache\ 2049}#
(if (eq? #{er\ 2047}#
#{er-cache\ 2040}#)
#{r-cache\ 2041}#
(#{macros-only-env\ 371}#
#{er\ 2047}#))))
(begin
(set-cdr!
#{b\ 2044}#
(#{eval-local-transformer\ 476}#
(#{chi\ 464}#
(cdr (cdr #{b\ 2044}#))
#{r-cache\ 2049}#
'(())
#{mod\ 1983}#)
#{mod\ 1983}#))
(#{loop\ 2038}#
(cdr #{bs\ 2039}#)
#{er\ 2047}#
#{r-cache\ 2049}#))))))
(#{loop\ 2038}#
(cdr #{bs\ 2039}#)
#{er-cache\ 2040}#
#{r-cache\ 2041}#))))))))
(begin
(#{loop\ 2038}#
#{bindings\ 1970}#
#f
#f)))
(set-cdr!
#{r\ 1949}#
(#{extend-env\ 367}#
#{labels\ 1966}#
#{bindings\ 1970}#
(cdr #{r\ 1949}#)))
(#{build-letrec\ 337}#
#f
#t
(reverse
(map syntax->datum
#{var-ids\ 1967}#))
(reverse
#{vars\ 1968}#)
(map (lambda (#{x\ 2052}#)
(#{chi\ 464}#
(cdr #{x\ 2052}#)
(car #{x\ 2052}#)
'(())
#{mod\ 1983}#))
(reverse
#{vals\ 1969}#))
(#{build-sequence\ 331}#
#f
(map (lambda (#{x\ 2056}#)
(#{chi\ 464}#
(cdr #{x\ 2056}#)
(car #{x\ 2056}#)
'(())
#{mod\ 1983}#))
(cons (cons #{er\ 1976}#
(#{source-wrap\ 450}#
#{e\ 1980}#
#{w\ 1981}#
#{s\ 1982}#
#{mod\ 1983}#))
(cdr #{body\ 1964}#)))))))))))))))))))
(begin
(#{parse\ 1963}#
(map (lambda (#{x\ 1971}#)
(cons #{r\ 1949}#
(#{wrap\ 448}#
#{x\ 1971}#
#{w\ 1954}#
#{mod\ 1941}#)))
#{body\ 1937}#)
'()
'()
'()
'()
'()
'())))))))))))
(#{chi-local-syntax\ 474}#
(lambda (#{rec?\ 2059}#
#{e\ 2060}#
#{r\ 2061}#
#{w\ 2062}#
#{s\ 2063}#
#{mod\ 2064}#
#{k\ 2065}#)
(let ((#{tmp\ 2073}# #{e\ 2060}#))
(let ((#{tmp\ 2074}#
($sc-dispatch
#{tmp\ 2073}#
'(_ #(each (any any)) any . each-any))))
(if #{tmp\ 2074}#
(@apply
(lambda (#{id\ 2079}#
#{val\ 2080}#
#{e1\ 2081}#
#{e2\ 2082}#)
(begin
(let ((#{ids\ 2084}# #{id\ 2079}#))
(if (not (#{valid-bound-ids?\ 442}# #{ids\ 2084}#))
(syntax-violation
#f
"duplicate bound keyword"
#{e\ 2060}#)
(begin
(let ((#{labels\ 2087}#
(#{gen-labels\ 397}# #{ids\ 2084}#)))
(begin
(let ((#{new-w\ 2089}#
(#{make-binding-wrap\ 426}#
#{ids\ 2084}#
#{labels\ 2087}#
#{w\ 2062}#)))
(#{k\ 2065}#
(cons #{e1\ 2081}# #{e2\ 2082}#)
(#{extend-env\ 367}#
#{labels\ 2087}#
(begin
(let ((#{w\ 2093}#
(if #{rec?\ 2059}#
#{new-w\ 2089}#
#{w\ 2062}#))
(#{trans-r\ 2094}#
(#{macros-only-env\ 371}#
#{r\ 2061}#)))
(map (lambda (#{x\ 2095}#)
(cons 'macro
(#{eval-local-transformer\ 476}#
(#{chi\ 464}#
#{x\ 2095}#
#{trans-r\ 2094}#
#{w\ 2093}#
#{mod\ 2064}#)
#{mod\ 2064}#)))
#{val\ 2080}#)))
#{r\ 2061}#)
#{new-w\ 2089}#
#{s\ 2063}#
#{mod\ 2064}#)))))))))
#{tmp\ 2074}#)
(let ((#{_\ 2100}# #{tmp\ 2073}#))
(syntax-violation
#f
"bad local syntax definition"
(#{source-wrap\ 450}#
#{e\ 2060}#
#{w\ 2062}#
#{s\ 2063}#
#{mod\ 2064}#))))))))
(#{eval-local-transformer\ 476}#
(lambda (#{expanded\ 2101}# #{mod\ 2102}#)
(begin
(let ((#{p\ 2106}#
(#{local-eval-hook\ 290}#
#{expanded\ 2101}#
#{mod\ 2102}#)))
(if (procedure? #{p\ 2106}#)
#{p\ 2106}#
(syntax-violation
#f
"nonprocedure transformer"
#{p\ 2106}#))))))
(#{chi-void\ 478}#
(lambda () (#{build-void\ 301}# #f)))
(#{ellipsis?\ 480}#
(lambda (#{x\ 2108}#)
(if (#{nonsymbol-id?\ 377}# #{x\ 2108}#)
(#{free-id=?\ 438}#
#{x\ 2108}#
'#(syntax-object
...
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i2109"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top) (top) (top) (top))
("i38" "i37" "i36" "i34")))
(hygiene guile)))
#f)))
(#{lambda-formals\ 482}#
(lambda (#{orig-args\ 2112}#)
(letrec*
((#{req\ 2115}#
(lambda (#{args\ 2118}# #{rreq\ 2119}#)
(let ((#{tmp\ 2122}# #{args\ 2118}#))
(let ((#{tmp\ 2123}#
($sc-dispatch #{tmp\ 2122}# (quote ()))))
(if #{tmp\ 2123}#
(@apply
(lambda ()
(#{check\ 2117}# (reverse #{rreq\ 2119}#) #f))
#{tmp\ 2123}#)
(let ((#{tmp\ 2124}#
($sc-dispatch
#{tmp\ 2122}#
'(any . any))))
(if (if #{tmp\ 2124}#
(@apply
(lambda (#{a\ 2127}# #{b\ 2128}#)
(#{id?\ 379}# #{a\ 2127}#))
#{tmp\ 2124}#)
#f)
(@apply
(lambda (#{a\ 2131}# #{b\ 2132}#)
(#{req\ 2115}#
#{b\ 2132}#
(cons #{a\ 2131}# #{rreq\ 2119}#)))
#{tmp\ 2124}#)
(let ((#{tmp\ 2133}# (list #{tmp\ 2122}#)))
(if (if #{tmp\ 2133}#
(@apply
(lambda (#{r\ 2135}#)
(#{id?\ 379}# #{r\ 2135}#))
#{tmp\ 2133}#)
#f)
(@apply
(lambda (#{r\ 2137}#)
(#{check\ 2117}#
(reverse #{rreq\ 2119}#)
#{r\ 2137}#))
#{tmp\ 2133}#)
(let ((#{else\ 2139}# #{tmp\ 2122}#))
(syntax-violation
'lambda
"invalid argument list"
#{orig-args\ 2112}#
#{args\ 2118}#)))))))))))
(#{check\ 2117}#
(lambda (#{req\ 2140}# #{rest\ 2141}#)
(if (#{distinct-bound-ids?\ 444}#
(if #{rest\ 2141}#
(cons #{rest\ 2141}# #{req\ 2140}#)
#{req\ 2140}#))
(values #{req\ 2140}# #f #{rest\ 2141}# #f)
(syntax-violation
'lambda
"duplicate identifier in argument list"
#{orig-args\ 2112}#)))))
(begin
(#{req\ 2115}# #{orig-args\ 2112}# (quote ()))))))
(#{chi-simple-lambda\ 484}#
(lambda (#{e\ 2147}#
#{r\ 2148}#
#{w\ 2149}#
#{s\ 2150}#
#{mod\ 2151}#
#{req\ 2152}#
#{rest\ 2153}#
#{meta\ 2154}#
#{body\ 2155}#)
(begin
(let ((#{ids\ 2167}#
(if #{rest\ 2153}#
(append #{req\ 2152}# (list #{rest\ 2153}#))
#{req\ 2152}#)))
(begin
(let ((#{vars\ 2169}#
(map #{gen-var\ 492}# #{ids\ 2167}#)))
(begin
(let ((#{labels\ 2171}#
(#{gen-labels\ 397}# #{ids\ 2167}#)))
(#{build-simple-lambda\ 321}#
#{s\ 2150}#
(map syntax->datum #{req\ 2152}#)
(if #{rest\ 2153}#
(syntax->datum #{rest\ 2153}#)
#f)
#{vars\ 2169}#
#{meta\ 2154}#
(#{chi-body\ 472}#
#{body\ 2155}#
(#{source-wrap\ 450}#
#{e\ 2147}#
#{w\ 2149}#
#{s\ 2150}#
#{mod\ 2151}#)
(#{extend-var-env\ 369}#
#{labels\ 2171}#
#{vars\ 2169}#
#{r\ 2148}#)
(#{make-binding-wrap\ 426}#
#{ids\ 2167}#
#{labels\ 2171}#
#{w\ 2149}#)
#{mod\ 2151}#))))))))))
(#{lambda*-formals\ 486}#
(lambda (#{orig-args\ 2174}#)
(letrec*
((#{req\ 2177}#
(lambda (#{args\ 2186}# #{rreq\ 2187}#)
(let ((#{tmp\ 2190}# #{args\ 2186}#))
(let ((#{tmp\ 2191}#
($sc-dispatch #{tmp\ 2190}# (quote ()))))
(if #{tmp\ 2191}#
(@apply
(lambda ()
(#{check\ 2185}#
(reverse #{rreq\ 2187}#)
'()
#f
'()))
#{tmp\ 2191}#)
(let ((#{tmp\ 2192}#
($sc-dispatch
#{tmp\ 2190}#
'(any . any))))
(if (if #{tmp\ 2192}#
(@apply
(lambda (#{a\ 2195}# #{b\ 2196}#)
(#{id?\ 379}# #{a\ 2195}#))
#{tmp\ 2192}#)
#f)
(@apply
(lambda (#{a\ 2199}# #{b\ 2200}#)
(#{req\ 2177}#
#{b\ 2200}#
(cons #{a\ 2199}# #{rreq\ 2187}#)))
#{tmp\ 2192}#)
(let ((#{tmp\ 2201}#
($sc-dispatch
#{tmp\ 2190}#
'(any . any))))
(if (if #{tmp\ 2201}#
(@apply
(lambda (#{a\ 2204}# #{b\ 2205}#)
(eq? (syntax->datum #{a\ 2204}#)
#:optional))
#{tmp\ 2201}#)
#f)
(@apply
(lambda (#{a\ 2208}# #{b\ 2209}#)
(#{opt\ 2179}#
#{b\ 2209}#
(reverse #{rreq\ 2187}#)
'()))
#{tmp\ 2201}#)
(let ((#{tmp\ 2210}#
($sc-dispatch
#{tmp\ 2190}#
'(any . any))))
(if (if #{tmp\ 2210}#
(@apply
(lambda (#{a\ 2213}# #{b\ 2214}#)
(eq? (syntax->datum #{a\ 2213}#)
#:key))
#{tmp\ 2210}#)
#f)
(@apply
(lambda (#{a\ 2217}# #{b\ 2218}#)
(#{key\ 2181}#
#{b\ 2218}#
(reverse #{rreq\ 2187}#)
'()
'()))
#{tmp\ 2210}#)
(let ((#{tmp\ 2219}#
($sc-dispatch
#{tmp\ 2190}#
'(any any))))
(if (if #{tmp\ 2219}#
(@apply
(lambda (#{a\ 2222}#
#{b\ 2223}#)
(eq? (syntax->datum
#{a\ 2222}#)
#:rest))
#{tmp\ 2219}#)
#f)
(@apply
(lambda (#{a\ 2226}# #{b\ 2227}#)
(#{rest\ 2183}#
#{b\ 2227}#
(reverse #{rreq\ 2187}#)
'()
'()))
#{tmp\ 2219}#)
(let ((#{tmp\ 2228}#
(list #{tmp\ 2190}#)))
(if (if #{tmp\ 2228}#
(@apply
(lambda (#{r\ 2230}#)
(#{id?\ 379}#
#{r\ 2230}#))
#{tmp\ 2228}#)
#f)
(@apply
(lambda (#{r\ 2232}#)
(#{rest\ 2183}#
#{r\ 2232}#
(reverse #{rreq\ 2187}#)
'()
'()))
#{tmp\ 2228}#)
(let ((#{else\ 2234}#
#{tmp\ 2190}#))
(syntax-violation
'lambda*
"invalid argument list"
#{orig-args\ 2174}#
#{args\ 2186}#)))))))))))))))))
(#{opt\ 2179}#
(lambda (#{args\ 2235}# #{req\ 2236}# #{ropt\ 2237}#)
(let ((#{tmp\ 2241}# #{args\ 2235}#))
(let ((#{tmp\ 2242}#
($sc-dispatch #{tmp\ 2241}# (quote ()))))
(if #{tmp\ 2242}#
(@apply
(lambda ()
(#{check\ 2185}#
#{req\ 2236}#
(reverse #{ropt\ 2237}#)
#f
'()))
#{tmp\ 2242}#)
(let ((#{tmp\ 2243}#
($sc-dispatch
#{tmp\ 2241}#
'(any . any))))
(if (if #{tmp\ 2243}#
(@apply
(lambda (#{a\ 2246}# #{b\ 2247}#)
(#{id?\ 379}# #{a\ 2246}#))
#{tmp\ 2243}#)
#f)
(@apply
(lambda (#{a\ 2250}# #{b\ 2251}#)
(#{opt\ 2179}#
#{b\ 2251}#
#{req\ 2236}#
(cons (cons #{a\ 2250}#
'(#(syntax-object
#f
((top)
#(ribcage
#(a b)
#((top) (top))
#("i2248" "i2249"))
#(ribcage () () ())
#(ribcage
#(args req ropt)
#((top) (top) (top))
#("i2238"
"i2239"
"i2240"))
#(ribcage
(check rest key opt req)
((top)
(top)
(top)
(top)
(top))
("i2184"
"i2182"
"i2180"
"i2178"
"i2176"))
#(ribcage
#(orig-args)
#((top))
#("i2175"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top)
(top)
(top)
(top))
("i38"
"i37"
"i36"
"i34")))
(hygiene guile))))
#{ropt\ 2237}#)))
#{tmp\ 2243}#)
(let ((#{tmp\ 2252}#
($sc-dispatch
#{tmp\ 2241}#
'((any any) . any))))
(if (if #{tmp\ 2252}#
(@apply
(lambda (#{a\ 2256}#
#{init\ 2257}#
#{b\ 2258}#)
(#{id?\ 379}# #{a\ 2256}#))
#{tmp\ 2252}#)
#f)
(@apply
(lambda (#{a\ 2262}#
#{init\ 2263}#
#{b\ 2264}#)
(#{opt\ 2179}#
#{b\ 2264}#
#{req\ 2236}#
(cons (list #{a\ 2262}# #{init\ 2263}#)
#{ropt\ 2237}#)))
#{tmp\ 2252}#)
(let ((#{tmp\ 2265}#
($sc-dispatch
#{tmp\ 2241}#
'(any . any))))
(if (if #{tmp\ 2265}#
(@apply
(lambda (#{a\ 2268}# #{b\ 2269}#)
(eq? (syntax->datum #{a\ 2268}#)
#:key))
#{tmp\ 2265}#)
#f)
(@apply
(lambda (#{a\ 2272}# #{b\ 2273}#)
(#{key\ 2181}#
#{b\ 2273}#
#{req\ 2236}#
(reverse #{ropt\ 2237}#)
'()))
#{tmp\ 2265}#)
(let ((#{tmp\ 2274}#
($sc-dispatch
#{tmp\ 2241}#
'(any any))))
(if (if #{tmp\ 2274}#
(@apply
(lambda (#{a\ 2277}#
#{b\ 2278}#)
(eq? (syntax->datum
#{a\ 2277}#)
#:rest))
#{tmp\ 2274}#)
#f)
(@apply
(lambda (#{a\ 2281}# #{b\ 2282}#)
(#{rest\ 2183}#
#{b\ 2282}#
#{req\ 2236}#
(reverse #{ropt\ 2237}#)
'()))
#{tmp\ 2274}#)
(let ((#{tmp\ 2283}#
(list #{tmp\ 2241}#)))
(if (if #{tmp\ 2283}#
(@apply
(lambda (#{r\ 2285}#)
(#{id?\ 379}#
#{r\ 2285}#))
#{tmp\ 2283}#)
#f)
(@apply
(lambda (#{r\ 2287}#)
(#{rest\ 2183}#
#{r\ 2287}#
#{req\ 2236}#
(reverse #{ropt\ 2237}#)
'()))
#{tmp\ 2283}#)
(let ((#{else\ 2289}#
#{tmp\ 2241}#))
(syntax-violation
'lambda*
"invalid optional argument list"
#{orig-args\ 2174}#
#{args\ 2235}#)))))))))))))))))
(#{key\ 2181}#
(lambda (#{args\ 2290}#
#{req\ 2291}#
#{opt\ 2292}#
#{rkey\ 2293}#)
(let ((#{tmp\ 2298}# #{args\ 2290}#))
(let ((#{tmp\ 2299}#
($sc-dispatch #{tmp\ 2298}# (quote ()))))
(if #{tmp\ 2299}#
(@apply
(lambda ()
(#{check\ 2185}#
#{req\ 2291}#
#{opt\ 2292}#
#f
(cons #f (reverse #{rkey\ 2293}#))))
#{tmp\ 2299}#)
(let ((#{tmp\ 2300}#
($sc-dispatch
#{tmp\ 2298}#
'(any . any))))
(if (if #{tmp\ 2300}#
(@apply
(lambda (#{a\ 2303}# #{b\ 2304}#)
(#{id?\ 379}# #{a\ 2303}#))
#{tmp\ 2300}#)
#f)
(@apply
(lambda (#{a\ 2307}# #{b\ 2308}#)
(let ((#{tmp\ 2310}#
(symbol->keyword
(syntax->datum #{a\ 2307}#))))
(let ((#{k\ 2312}# #{tmp\ 2310}#))
(#{key\ 2181}#
#{b\ 2308}#
#{req\ 2291}#
#{opt\ 2292}#
(cons (cons #{k\ 2312}#
(cons #{a\ 2307}#
'(#(syntax-object
#f
((top)
#(ribcage
#(k)
#((top))
#("i2311"))
#(ribcage
#(a b)
#((top) (top))
#("i2305"
"i2306"))
#(ribcage
()
()
())
#(ribcage
#(args
req
opt
rkey)
#((top)
(top)
(top)
(top))
#("i2294"
"i2295"
"i2296"
"i2297"))
#(ribcage
(check rest
key
opt
req)
((top)
(top)
(top)
(top)
(top))
("i2184"
"i2182"
"i2180"
"i2178"
"i2176"))
#(ribcage
#(orig-args)
#((top))
#("i2175"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top)
(top)
(top)
(top))
("i38"
"i37"
"i36"
"i34")))
(hygiene
guile)))))
#{rkey\ 2293}#)))))
#{tmp\ 2300}#)
(let ((#{tmp\ 2313}#
($sc-dispatch
#{tmp\ 2298}#
'((any any) . any))))
(if (if #{tmp\ 2313}#
(@apply
(lambda (#{a\ 2317}#
#{init\ 2318}#
#{b\ 2319}#)
(#{id?\ 379}# #{a\ 2317}#))
#{tmp\ 2313}#)
#f)
(@apply
(lambda (#{a\ 2323}#
#{init\ 2324}#
#{b\ 2325}#)
(let ((#{tmp\ 2327}#
(symbol->keyword
(syntax->datum #{a\ 2323}#))))
(let ((#{k\ 2329}# #{tmp\ 2327}#))
(#{key\ 2181}#
#{b\ 2325}#
#{req\ 2291}#
#{opt\ 2292}#
(cons (list #{k\ 2329}#
#{a\ 2323}#
#{init\ 2324}#)
#{rkey\ 2293}#)))))
#{tmp\ 2313}#)
(let ((#{tmp\ 2330}#
($sc-dispatch
#{tmp\ 2298}#
'((any any any) . any))))
(if (if #{tmp\ 2330}#
(@apply
(lambda (#{a\ 2335}#
#{init\ 2336}#
#{k\ 2337}#
#{b\ 2338}#)
(if (#{id?\ 379}# #{a\ 2335}#)
(keyword?
(syntax->datum #{k\ 2337}#))
#f))
#{tmp\ 2330}#)
#f)
(@apply
(lambda (#{a\ 2345}#
#{init\ 2346}#
#{k\ 2347}#
#{b\ 2348}#)
(#{key\ 2181}#
#{b\ 2348}#
#{req\ 2291}#
#{opt\ 2292}#
(cons (list #{k\ 2347}#
#{a\ 2345}#
#{init\ 2346}#)
#{rkey\ 2293}#)))
#{tmp\ 2330}#)
(let ((#{tmp\ 2349}#
($sc-dispatch
#{tmp\ 2298}#
'(any))))
(if (if #{tmp\ 2349}#
(@apply
(lambda (#{aok\ 2351}#)
(eq? (syntax->datum
#{aok\ 2351}#)
#:allow-other-keys))
#{tmp\ 2349}#)
#f)
(@apply
(lambda (#{aok\ 2353}#)
(#{check\ 2185}#
#{req\ 2291}#
#{opt\ 2292}#
#f
(cons #t
(reverse
#{rkey\ 2293}#))))
#{tmp\ 2349}#)
(let ((#{tmp\ 2354}#
($sc-dispatch
#{tmp\ 2298}#
'(any any any))))
(if (if #{tmp\ 2354}#
(@apply
(lambda (#{aok\ 2358}#
#{a\ 2359}#
#{b\ 2360}#)
(if (eq? (syntax->datum
#{aok\ 2358}#)
#:allow-other-keys)
(eq? (syntax->datum
#{a\ 2359}#)
#:rest)
#f))
#{tmp\ 2354}#)
#f)
(@apply
(lambda (#{aok\ 2366}#
#{a\ 2367}#
#{b\ 2368}#)
(#{rest\ 2183}#
#{b\ 2368}#
#{req\ 2291}#
#{opt\ 2292}#
(cons #t
(reverse
#{rkey\ 2293}#))))
#{tmp\ 2354}#)
(let ((#{tmp\ 2369}#
($sc-dispatch
#{tmp\ 2298}#
'(any . any))))
(if (if #{tmp\ 2369}#
(@apply
(lambda (#{aok\ 2372}#
#{r\ 2373}#)
(if (eq? (syntax->datum
#{aok\ 2372}#)
#:allow-other-keys)
(#{id?\ 379}#
#{r\ 2373}#)
#f))
#{tmp\ 2369}#)
#f)
(@apply
(lambda (#{aok\ 2378}#
#{r\ 2379}#)
(#{rest\ 2183}#
#{r\ 2379}#
#{req\ 2291}#
#{opt\ 2292}#
(cons #t
(reverse
#{rkey\ 2293}#))))
#{tmp\ 2369}#)
(let ((#{tmp\ 2380}#
($sc-dispatch
#{tmp\ 2298}#
'(any any))))
(if (if #{tmp\ 2380}#
(@apply
(lambda (#{a\ 2383}#
#{b\ 2384}#)
(eq? (syntax->datum
#{a\ 2383}#)
#:rest))
#{tmp\ 2380}#)
#f)
(@apply
(lambda (#{a\ 2387}#
#{b\ 2388}#)
(#{rest\ 2183}#
#{b\ 2388}#
#{req\ 2291}#
#{opt\ 2292}#
(cons #f
(reverse
#{rkey\ 2293}#))))
#{tmp\ 2380}#)
(let ((#{tmp\ 2389}#
(list #{tmp\ 2298}#)))
(if (if #{tmp\ 2389}#
(@apply
(lambda (#{r\ 2391}#)
(#{id?\ 379}#
#{r\ 2391}#))
#{tmp\ 2389}#)
#f)
(@apply
(lambda (#{r\ 2393}#)
(#{rest\ 2183}#
#{r\ 2393}#
#{req\ 2291}#
#{opt\ 2292}#
(cons #f
(reverse
#{rkey\ 2293}#))))
#{tmp\ 2389}#)
(let ((#{else\ 2395}#
#{tmp\ 2298}#))
(syntax-violation
'lambda*
"invalid keyword argument list"
#{orig-args\ 2174}#
#{args\ 2290}#)))))))))))))))))))))))
(#{rest\ 2183}#
(lambda (#{args\ 2396}#
#{req\ 2397}#
#{opt\ 2398}#
#{kw\ 2399}#)
(let ((#{tmp\ 2404}# #{args\ 2396}#))
(let ((#{tmp\ 2405}# (list #{tmp\ 2404}#)))
(if (if #{tmp\ 2405}#
(@apply
(lambda (#{r\ 2407}#)
(#{id?\ 379}# #{r\ 2407}#))
#{tmp\ 2405}#)
#f)
(@apply
(lambda (#{r\ 2409}#)
(#{check\ 2185}#
#{req\ 2397}#
#{opt\ 2398}#
#{r\ 2409}#
#{kw\ 2399}#))
#{tmp\ 2405}#)
(let ((#{else\ 2411}# #{tmp\ 2404}#))
(syntax-violation
'lambda*
"invalid rest argument"
#{orig-args\ 2174}#
#{args\ 2396}#)))))))
(#{check\ 2185}#
(lambda (#{req\ 2412}#
#{opt\ 2413}#
#{rest\ 2414}#
#{kw\ 2415}#)
(if (#{distinct-bound-ids?\ 444}#
(append
#{req\ 2412}#
(map car #{opt\ 2413}#)
(if #{rest\ 2414}#
(list #{rest\ 2414}#)
'())
(if (pair? #{kw\ 2415}#)
(map cadr (cdr #{kw\ 2415}#))
'())))
(values
#{req\ 2412}#
#{opt\ 2413}#
#{rest\ 2414}#
#{kw\ 2415}#)
(syntax-violation
'lambda*
"duplicate identifier in argument list"
#{orig-args\ 2174}#)))))
(begin
(#{req\ 2177}# #{orig-args\ 2174}# (quote ()))))))
(#{chi-lambda-case\ 488}#
(lambda (#{e\ 2423}#
#{r\ 2424}#
#{w\ 2425}#
#{s\ 2426}#
#{mod\ 2427}#
#{get-formals\ 2428}#
#{clauses\ 2429}#)
(letrec*
((#{expand-req\ 2438}#
(lambda (#{req\ 2445}#
#{opt\ 2446}#
#{rest\ 2447}#
#{kw\ 2448}#
#{body\ 2449}#)
(begin
(let ((#{vars\ 2457}#
(map #{gen-var\ 492}# #{req\ 2445}#))
(#{labels\ 2458}#
(#{gen-labels\ 397}# #{req\ 2445}#)))
(begin
(let ((#{r*\ 2461}#
(#{extend-var-env\ 369}#
#{labels\ 2458}#
#{vars\ 2457}#
#{r\ 2424}#))
(#{w*\ 2462}#
(#{make-binding-wrap\ 426}#
#{req\ 2445}#
#{labels\ 2458}#
#{w\ 2425}#)))
(#{expand-opt\ 2440}#
(map syntax->datum #{req\ 2445}#)
#{opt\ 2446}#
#{rest\ 2447}#
#{kw\ 2448}#
#{body\ 2449}#
(reverse #{vars\ 2457}#)
#{r*\ 2461}#
#{w*\ 2462}#
'()
'())))))))
(#{expand-opt\ 2440}#
(lambda (#{req\ 2463}#
#{opt\ 2464}#
#{rest\ 2465}#
#{kw\ 2466}#
#{body\ 2467}#
#{vars\ 2468}#
#{r*\ 2469}#
#{w*\ 2470}#
#{out\ 2471}#
#{inits\ 2472}#)
(if (pair? #{opt\ 2464}#)
(let ((#{tmp\ 2485}# (car #{opt\ 2464}#)))
(let ((#{tmp\ 2486}#
($sc-dispatch
#{tmp\ 2485}#
'(any any))))
(if #{tmp\ 2486}#
(@apply
(lambda (#{id\ 2489}# #{i\ 2490}#)
(begin
(let ((#{v\ 2493}#
(#{gen-var\ 492}# #{id\ 2489}#)))
(begin
(let ((#{l\ 2495}#
(#{gen-labels\ 397}#
(list #{v\ 2493}#))))
(begin
(let ((#{r**\ 2497}#
(#{extend-var-env\ 369}#
#{l\ 2495}#
(list #{v\ 2493}#)
#{r*\ 2469}#)))
(begin
(let ((#{w**\ 2499}#
(#{make-binding-wrap\ 426}#
(list #{id\ 2489}#)
#{l\ 2495}#
#{w*\ 2470}#)))
(#{expand-opt\ 2440}#
#{req\ 2463}#
(cdr #{opt\ 2464}#)
#{rest\ 2465}#
#{kw\ 2466}#
#{body\ 2467}#
(cons #{v\ 2493}#
#{vars\ 2468}#)
#{r**\ 2497}#
#{w**\ 2499}#
(cons (syntax->datum
#{id\ 2489}#)
#{out\ 2471}#)
(cons (#{chi\ 464}#
#{i\ 2490}#
#{r*\ 2469}#
#{w*\ 2470}#
#{mod\ 2427}#)
#{inits\ 2472}#)))))))))))
#{tmp\ 2486}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2485}#))))
(if #{rest\ 2465}#
(begin
(let ((#{v\ 2504}#
(#{gen-var\ 492}# #{rest\ 2465}#)))
(begin
(let ((#{l\ 2506}#
(#{gen-labels\ 397}#
(list #{v\ 2504}#))))
(begin
(let ((#{r*\ 2508}#
(#{extend-var-env\ 369}#
#{l\ 2506}#
(list #{v\ 2504}#)
#{r*\ 2469}#)))
(begin
(let ((#{w*\ 2510}#
(#{make-binding-wrap\ 426}#
(list #{rest\ 2465}#)
#{l\ 2506}#
#{w*\ 2470}#)))
(#{expand-kw\ 2442}#
#{req\ 2463}#
(if (pair? #{out\ 2471}#)
(reverse #{out\ 2471}#)
#f)
(syntax->datum #{rest\ 2465}#)
(if (pair? #{kw\ 2466}#)
(cdr #{kw\ 2466}#)
#{kw\ 2466}#)
#{body\ 2467}#
(cons #{v\ 2504}# #{vars\ 2468}#)
#{r*\ 2508}#
#{w*\ 2510}#
(if (pair? #{kw\ 2466}#)
(car #{kw\ 2466}#)
#f)
'()
#{inits\ 2472}#)))))))))
(#{expand-kw\ 2442}#
#{req\ 2463}#
(if (pair? #{out\ 2471}#)
(reverse #{out\ 2471}#)
#f)
#f
(if (pair? #{kw\ 2466}#)
(cdr #{kw\ 2466}#)
#{kw\ 2466}#)
#{body\ 2467}#
#{vars\ 2468}#
#{r*\ 2469}#
#{w*\ 2470}#
(if (pair? #{kw\ 2466}#) (car #{kw\ 2466}#) #f)
'()
#{inits\ 2472}#)))))
(#{expand-kw\ 2442}#
(lambda (#{req\ 2512}#
#{opt\ 2513}#
#{rest\ 2514}#
#{kw\ 2515}#
#{body\ 2516}#
#{vars\ 2517}#
#{r*\ 2518}#
#{w*\ 2519}#
#{aok\ 2520}#
#{out\ 2521}#
#{inits\ 2522}#)
(if (pair? #{kw\ 2515}#)
(let ((#{tmp\ 2536}# (car #{kw\ 2515}#)))
(let ((#{tmp\ 2537}#
($sc-dispatch
#{tmp\ 2536}#
'(any any any))))
(if #{tmp\ 2537}#
(@apply
(lambda (#{k\ 2541}# #{id\ 2542}# #{i\ 2543}#)
(begin
(let ((#{v\ 2546}#
(#{gen-var\ 492}# #{id\ 2542}#)))
(begin
(let ((#{l\ 2548}#
(#{gen-labels\ 397}#
(list #{v\ 2546}#))))
(begin
(let ((#{r**\ 2550}#
(#{extend-var-env\ 369}#
#{l\ 2548}#
(list #{v\ 2546}#)
#{r*\ 2518}#)))
(begin
(let ((#{w**\ 2552}#
(#{make-binding-wrap\ 426}#
(list #{id\ 2542}#)
#{l\ 2548}#
#{w*\ 2519}#)))
(#{expand-kw\ 2442}#
#{req\ 2512}#
#{opt\ 2513}#
#{rest\ 2514}#
(cdr #{kw\ 2515}#)
#{body\ 2516}#
(cons #{v\ 2546}#
#{vars\ 2517}#)
#{r**\ 2550}#
#{w**\ 2552}#
#{aok\ 2520}#
(cons (list (syntax->datum
#{k\ 2541}#)
(syntax->datum
#{id\ 2542}#)
#{v\ 2546}#)
#{out\ 2521}#)
(cons (#{chi\ 464}#
#{i\ 2543}#
#{r*\ 2518}#
#{w*\ 2519}#
#{mod\ 2427}#)
#{inits\ 2522}#)))))))))))
#{tmp\ 2537}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2536}#))))
(#{expand-body\ 2444}#
#{req\ 2512}#
#{opt\ 2513}#
#{rest\ 2514}#
(if (begin
(let ((#{t\ 2556}# #{aok\ 2520}#))
(if #{t\ 2556}#
#{t\ 2556}#
(pair? #{out\ 2521}#))))
(cons #{aok\ 2520}# (reverse #{out\ 2521}#))
#f)
#{body\ 2516}#
(reverse #{vars\ 2517}#)
#{r*\ 2518}#
#{w*\ 2519}#
(reverse #{inits\ 2522}#)
'()))))
(#{expand-body\ 2444}#
(lambda (#{req\ 2558}#
#{opt\ 2559}#
#{rest\ 2560}#
#{kw\ 2561}#
#{body\ 2562}#
#{vars\ 2563}#
#{r*\ 2564}#
#{w*\ 2565}#
#{inits\ 2566}#
#{meta\ 2567}#)
(let ((#{tmp\ 2578}# #{body\ 2562}#))
(let ((#{tmp\ 2579}#
($sc-dispatch
#{tmp\ 2578}#
'(any any . each-any))))
(if (if #{tmp\ 2579}#
(@apply
(lambda (#{docstring\ 2583}#
#{e1\ 2584}#
#{e2\ 2585}#)
(string?
(syntax->datum #{docstring\ 2583}#)))
#{tmp\ 2579}#)
#f)
(@apply
(lambda (#{docstring\ 2589}#
#{e1\ 2590}#
#{e2\ 2591}#)
(#{expand-body\ 2444}#
#{req\ 2558}#
#{opt\ 2559}#
#{rest\ 2560}#
#{kw\ 2561}#
(cons #{e1\ 2590}# #{e2\ 2591}#)
#{vars\ 2563}#
#{r*\ 2564}#
#{w*\ 2565}#
#{inits\ 2566}#
(append
#{meta\ 2567}#
(list (cons 'documentation
(syntax->datum
#{docstring\ 2589}#))))))
#{tmp\ 2579}#)
(let ((#{tmp\ 2594}#
($sc-dispatch
#{tmp\ 2578}#
'(#(vector #(each (any . any)))
any
.
each-any))))
(if #{tmp\ 2594}#
(@apply
(lambda (#{k\ 2599}#
#{v\ 2600}#
#{e1\ 2601}#
#{e2\ 2602}#)
(#{expand-body\ 2444}#
#{req\ 2558}#
#{opt\ 2559}#
#{rest\ 2560}#
#{kw\ 2561}#
(cons #{e1\ 2601}# #{e2\ 2602}#)
#{vars\ 2563}#
#{r*\ 2564}#
#{w*\ 2565}#
#{inits\ 2566}#
(append
#{meta\ 2567}#
(syntax->datum
(map cons #{k\ 2599}# #{v\ 2600}#)))))
#{tmp\ 2594}#)
(let ((#{tmp\ 2606}#
($sc-dispatch
#{tmp\ 2578}#
'(any . each-any))))
(if #{tmp\ 2606}#
(@apply
(lambda (#{e1\ 2609}# #{e2\ 2610}#)
(values
#{meta\ 2567}#
#{req\ 2558}#
#{opt\ 2559}#
#{rest\ 2560}#
#{kw\ 2561}#
#{inits\ 2566}#
#{vars\ 2563}#
(#{chi-body\ 472}#
(cons #{e1\ 2609}# #{e2\ 2610}#)
(#{source-wrap\ 450}#
#{e\ 2423}#
#{w\ 2425}#
#{s\ 2426}#
#{mod\ 2427}#)
#{r*\ 2564}#
#{w*\ 2565}#
#{mod\ 2427}#)))
#{tmp\ 2606}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2578}#)))))))))))
(begin
(let ((#{tmp\ 2612}# #{clauses\ 2429}#))
(let ((#{tmp\ 2613}#
($sc-dispatch #{tmp\ 2612}# (quote ()))))
(if #{tmp\ 2613}#
(@apply
(lambda () (values (quote ()) #f))
#{tmp\ 2613}#)
(let ((#{tmp\ 2614}#
($sc-dispatch
#{tmp\ 2612}#
'((any any . each-any)
.
#(each (any any . each-any))))))
(if #{tmp\ 2614}#
(@apply
(lambda (#{args\ 2621}#
#{e1\ 2622}#
#{e2\ 2623}#
#{args*\ 2624}#
#{e1*\ 2625}#
#{e2*\ 2626}#)
(call-with-values
(lambda ()
(#{get-formals\ 2428}# #{args\ 2621}#))
(lambda (#{req\ 2627}#
#{opt\ 2628}#
#{rest\ 2629}#
#{kw\ 2630}#)
(call-with-values
(lambda ()
(#{expand-req\ 2438}#
#{req\ 2627}#
#{opt\ 2628}#
#{rest\ 2629}#
#{kw\ 2630}#
(cons #{e1\ 2622}# #{e2\ 2623}#)))
(lambda (#{meta\ 2636}#
#{req\ 2637}#
#{opt\ 2638}#
#{rest\ 2639}#
#{kw\ 2640}#
#{inits\ 2641}#
#{vars\ 2642}#
#{body\ 2643}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 488}#
#{e\ 2423}#
#{r\ 2424}#
#{w\ 2425}#
#{s\ 2426}#
#{mod\ 2427}#
#{get-formals\ 2428}#
(map (lambda (#{tmp\ 2654}#
#{tmp\ 2653}#
#{tmp\ 2652}#)
(cons #{tmp\ 2652}#
(cons #{tmp\ 2653}#
#{tmp\ 2654}#)))
#{e2*\ 2626}#
#{e1*\ 2625}#
#{args*\ 2624}#)))
(lambda (#{meta*\ 2656}#
#{else*\ 2657}#)
(values
(append
#{meta\ 2636}#
#{meta*\ 2656}#)
(#{build-lambda-case\ 325}#
#{s\ 2426}#
#{req\ 2637}#
#{opt\ 2638}#
#{rest\ 2639}#
#{kw\ 2640}#
#{inits\ 2641}#
#{vars\ 2642}#
#{body\ 2643}#
#{else*\ 2657}#)))))))))
#{tmp\ 2614}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 2612}#))))))))))
(#{strip\ 490}#
(lambda (#{x\ 2660}# #{w\ 2661}#)
(if (memq 'top
(#{wrap-marks\ 386}# #{w\ 2661}#))
#{x\ 2660}#
(letrec*
((#{f\ 2667}#
(lambda (#{x\ 2668}#)
(if (#{syntax-object?\ 343}# #{x\ 2668}#)
(#{strip\ 490}#
(#{syntax-object-expression\ 345}# #{x\ 2668}#)
(#{syntax-object-wrap\ 347}# #{x\ 2668}#))
(if (pair? #{x\ 2668}#)
(begin
(let ((#{a\ 2675}# (#{f\ 2667}# (car #{x\ 2668}#)))
(#{d\ 2676}#
(#{f\ 2667}# (cdr #{x\ 2668}#))))
(if (if (eq? #{a\ 2675}# (car #{x\ 2668}#))
(eq? #{d\ 2676}# (cdr #{x\ 2668}#))
#f)
#{x\ 2668}#
(cons #{a\ 2675}# #{d\ 2676}#))))
(if (vector? #{x\ 2668}#)
(begin
(let ((#{old\ 2682}# (vector->list #{x\ 2668}#)))
(begin
(let ((#{new\ 2684}#
(map #{f\ 2667}# #{old\ 2682}#)))
(if (#{and-map*\ 35}#
eq?
#{old\ 2682}#
#{new\ 2684}#)
#{x\ 2668}#
(list->vector #{new\ 2684}#))))))
#{x\ 2668}#))))))
(begin (#{f\ 2667}# #{x\ 2660}#))))))
(#{gen-var\ 492}#
(lambda (#{id\ 2686}#)
(begin
(let ((#{id\ 2689}#
(if (#{syntax-object?\ 343}# #{id\ 2686}#)
(#{syntax-object-expression\ 345}# #{id\ 2686}#)
#{id\ 2686}#)))
(gensym
(string-append (symbol->string #{id\ 2689}#) " "))))))
(#{lambda-var-list\ 494}#
(lambda (#{vars\ 2691}#)
(letrec*
((#{lvl\ 2697}#
(lambda (#{vars\ 2698}# #{ls\ 2699}# #{w\ 2700}#)
(if (pair? #{vars\ 2698}#)
(#{lvl\ 2697}#
(cdr #{vars\ 2698}#)
(cons (#{wrap\ 448}#
(car #{vars\ 2698}#)
#{w\ 2700}#
#f)
#{ls\ 2699}#)
#{w\ 2700}#)
(if (#{id?\ 379}# #{vars\ 2698}#)
(cons (#{wrap\ 448}# #{vars\ 2698}# #{w\ 2700}# #f)
#{ls\ 2699}#)
(if (null? #{vars\ 2698}#)
#{ls\ 2699}#
(if (#{syntax-object?\ 343}# #{vars\ 2698}#)
(#{lvl\ 2697}#
(#{syntax-object-expression\ 345}#
#{vars\ 2698}#)
#{ls\ 2699}#
(#{join-wraps\ 430}#
#{w\ 2700}#
(#{syntax-object-wrap\ 347}# #{vars\ 2698}#)))
(cons #{vars\ 2698}# #{ls\ 2699}#))))))))
(begin
(#{lvl\ 2697}#
#{vars\ 2691}#
'()
'(())))))))
(begin
(set! #{make-primitive-ref\ 241}#
(lambda (#{src\ 703}# #{name\ 704}#)
(make-struct/no-tail
(vector-ref %expanded-vtables 2)
#{src\ 703}#
#{name\ 704}#)))
(set! #{fx+\ 280}# +)
(set! #{fx-\ 282}# -)
(set! #{fx=\ 284}# =)
(set! #{fx<\ 286}# <)
(set! #{set-syntax-object-expression!\ 351}#
(lambda (#{x\ 1081}# #{update\ 1082}#)
(vector-set! #{x\ 1081}# 1 #{update\ 1082}#)))
(set! #{set-syntax-object-wrap!\ 353}#
(lambda (#{x\ 1085}# #{update\ 1086}#)
(vector-set! #{x\ 1085}# 2 #{update\ 1086}#)))
(set! #{set-syntax-object-module!\ 355}#
(lambda (#{x\ 1089}# #{update\ 1090}#)
(vector-set! #{x\ 1089}# 3 #{update\ 1090}#)))
(set! #{binding-type\ 362}# car)
(set! #{binding-value\ 364}# cdr)
(set! #{make-wrap\ 384}# cons)
(set! #{wrap-marks\ 386}# car)
(set! #{wrap-subst\ 388}# cdr)
(set! #{ribcage?\ 402}#
(lambda (#{x\ 1167}#)
(if (vector? #{x\ 1167}#)
(if (= (vector-length #{x\ 1167}#) 4)
(eq? (vector-ref #{x\ 1167}# 0) (quote ribcage))
#f)
#f)))
(begin
(#{global-extend\ 375}#
'local-syntax
'letrec-syntax
#t)
(#{global-extend\ 375}#
'local-syntax
'let-syntax
#f)
(#{global-extend\ 375}#
'core
'fluid-let-syntax
(lambda (#{e\ 2711}#
#{r\ 2712}#
#{w\ 2713}#
#{s\ 2714}#
#{mod\ 2715}#)
(let ((#{tmp\ 2721}# #{e\ 2711}#))
(let ((#{tmp\ 2722}#
($sc-dispatch
#{tmp\ 2721}#
'(_ #(each (any any)) any . each-any))))
(if (if #{tmp\ 2722}#
(@apply
(lambda (#{var\ 2727}#
#{val\ 2728}#
#{e1\ 2729}#
#{e2\ 2730}#)
(#{valid-bound-ids?\ 442}# #{var\ 2727}#))
#{tmp\ 2722}#)
#f)
(@apply
(lambda (#{var\ 2736}#
#{val\ 2737}#
#{e1\ 2738}#
#{e2\ 2739}#)
(begin
(let ((#{names\ 2741}#
(map (lambda (#{x\ 2742}#)
(#{id-var-name\ 436}#
#{x\ 2742}#
#{w\ 2713}#))
#{var\ 2736}#)))
(begin
(for-each
(lambda (#{id\ 2745}# #{n\ 2746}#)
(begin
(let ((#{atom-key\ 2751}#
(#{binding-type\ 362}#
(#{lookup\ 373}#
#{n\ 2746}#
#{r\ 2712}#
#{mod\ 2715}#))))
(if (eqv? #{atom-key\ 2751}#
'displaced-lexical)
(syntax-violation
'fluid-let-syntax
"identifier out of context"
#{e\ 2711}#
(#{source-wrap\ 450}#
#{id\ 2745}#
#{w\ 2713}#
#{s\ 2714}#
#{mod\ 2715}#))))))
#{var\ 2736}#
#{names\ 2741}#)
(#{chi-body\ 472}#
(cons #{e1\ 2738}# #{e2\ 2739}#)
(#{source-wrap\ 450}#
#{e\ 2711}#
#{w\ 2713}#
#{s\ 2714}#
#{mod\ 2715}#)
(#{extend-env\ 367}#
#{names\ 2741}#
(begin
(let ((#{trans-r\ 2756}#
(#{macros-only-env\ 371}#
#{r\ 2712}#)))
(map (lambda (#{x\ 2757}#)
(cons 'macro
(#{eval-local-transformer\ 476}#
(#{chi\ 464}#
#{x\ 2757}#
#{trans-r\ 2756}#
#{w\ 2713}#
#{mod\ 2715}#)
#{mod\ 2715}#)))
#{val\ 2737}#)))
#{r\ 2712}#)
#{w\ 2713}#
#{mod\ 2715}#)))))
#{tmp\ 2722}#)
(let ((#{_\ 2762}# #{tmp\ 2721}#))
(syntax-violation
'fluid-let-syntax
"bad syntax"
(#{source-wrap\ 450}#
#{e\ 2711}#
#{w\ 2713}#
#{s\ 2714}#
#{mod\ 2715}#))))))))
(#{global-extend\ 375}#
'core
'quote
(lambda (#{e\ 2763}#
#{r\ 2764}#
#{w\ 2765}#
#{s\ 2766}#
#{mod\ 2767}#)
(let ((#{tmp\ 2773}# #{e\ 2763}#))
(let ((#{tmp\ 2774}#
($sc-dispatch #{tmp\ 2773}# (quote (_ any)))))
(if #{tmp\ 2774}#
(@apply
(lambda (#{e\ 2776}#)
(#{build-data\ 329}#
#{s\ 2766}#
(#{strip\ 490}# #{e\ 2776}# #{w\ 2765}#)))
#{tmp\ 2774}#)
(let ((#{_\ 2778}# #{tmp\ 2773}#))
(syntax-violation
'quote
"bad syntax"
(#{source-wrap\ 450}#
#{e\ 2763}#
#{w\ 2765}#
#{s\ 2766}#
#{mod\ 2767}#))))))))
(#{global-extend\ 375}#
'core
'syntax
(letrec*
((#{gen-syntax\ 2780}#
(lambda (#{src\ 2795}#
#{e\ 2796}#
#{r\ 2797}#
#{maps\ 2798}#
#{ellipsis?\ 2799}#
#{mod\ 2800}#)
(if (#{id?\ 379}# #{e\ 2796}#)
(begin
(let ((#{label\ 2808}#
(#{id-var-name\ 436}#
#{e\ 2796}#
'(()))))
(begin
(let ((#{b\ 2811}#
(#{lookup\ 373}#
#{label\ 2808}#
#{r\ 2797}#
#{mod\ 2800}#)))
(if (eq? (#{binding-type\ 362}# #{b\ 2811}#)
'syntax)
(call-with-values
(lambda ()
(begin
(let ((#{var.lev\ 2813}#
(#{binding-value\ 364}#
#{b\ 2811}#)))
(#{gen-ref\ 2782}#
#{src\ 2795}#
(car #{var.lev\ 2813}#)
(cdr #{var.lev\ 2813}#)
#{maps\ 2798}#))))
(lambda (#{var\ 2814}# #{maps\ 2815}#)
(values
(list (quote ref) #{var\ 2814}#)
#{maps\ 2815}#)))
(if (#{ellipsis?\ 2799}# #{e\ 2796}#)
(syntax-violation
'syntax
"misplaced ellipsis"
#{src\ 2795}#)
(values
(list (quote quote) #{e\ 2796}#)
#{maps\ 2798}#)))))))
(let ((#{tmp\ 2820}# #{e\ 2796}#))
(let ((#{tmp\ 2821}#
($sc-dispatch
#{tmp\ 2820}#
'(any any))))
(if (if #{tmp\ 2821}#
(@apply
(lambda (#{dots\ 2824}# #{e\ 2825}#)
(#{ellipsis?\ 2799}# #{dots\ 2824}#))
#{tmp\ 2821}#)
#f)
(@apply
(lambda (#{dots\ 2828}# #{e\ 2829}#)
(#{gen-syntax\ 2780}#
#{src\ 2795}#
#{e\ 2829}#
#{r\ 2797}#
#{maps\ 2798}#
(lambda (#{x\ 2830}#) #f)
#{mod\ 2800}#))
#{tmp\ 2821}#)
(let ((#{tmp\ 2832}#
($sc-dispatch
#{tmp\ 2820}#
'(any any . any))))
(if (if #{tmp\ 2832}#
(@apply
(lambda (#{x\ 2836}#
#{dots\ 2837}#
#{y\ 2838}#)
(#{ellipsis?\ 2799}# #{dots\ 2837}#))
#{tmp\ 2832}#)
#f)
(@apply
(lambda (#{x\ 2842}#
#{dots\ 2843}#
#{y\ 2844}#)
(letrec*
((#{f\ 2848}#
(lambda (#{y\ 2849}# #{k\ 2850}#)
(let ((#{tmp\ 2857}# #{y\ 2849}#))
(let ((#{tmp\ 2858}#
($sc-dispatch
#{tmp\ 2857}#
'(any . any))))
(if (if #{tmp\ 2858}#
(@apply
(lambda (#{dots\ 2861}#
#{y\ 2862}#)
(#{ellipsis?\ 2799}#
#{dots\ 2861}#))
#{tmp\ 2858}#)
#f)
(@apply
(lambda (#{dots\ 2865}#
#{y\ 2866}#)
(#{f\ 2848}#
#{y\ 2866}#
(lambda (#{maps\ 2867}#)
(call-with-values
(lambda ()
(#{k\ 2850}#
(cons '()
#{maps\ 2867}#)))
(lambda (#{x\ 2869}#
#{maps\ 2870}#)
(if (null? (car #{maps\ 2870}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 2795}#)
(values
(#{gen-mappend\ 2784}#
#{x\ 2869}#
(car #{maps\ 2870}#))
(cdr #{maps\ 2870}#))))))))
#{tmp\ 2858}#)
(let ((#{_\ 2874}#
#{tmp\ 2857}#))
(call-with-values
(lambda ()
(#{gen-syntax\ 2780}#
#{src\ 2795}#
#{y\ 2849}#
#{r\ 2797}#
#{maps\ 2798}#
#{ellipsis?\ 2799}#
#{mod\ 2800}#))
(lambda (#{y\ 2875}#
#{maps\ 2876}#)
(call-with-values
(lambda ()
(#{k\ 2850}#
#{maps\ 2876}#))
(lambda (#{x\ 2879}#
#{maps\ 2880}#)
(values
(#{gen-append\ 2790}#
#{x\ 2879}#
#{y\ 2875}#)
#{maps\ 2880}#))))))))))))
(begin
(#{f\ 2848}#
#{y\ 2844}#
(lambda (#{maps\ 2851}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2780}#
#{src\ 2795}#
#{x\ 2842}#
#{r\ 2797}#
(cons '()
#{maps\ 2851}#)
#{ellipsis?\ 2799}#
#{mod\ 2800}#))
(lambda (#{x\ 2853}#
#{maps\ 2854}#)
(if (null? (car #{maps\ 2854}#))
(syntax-violation
'syntax
"extra ellipsis"
#{src\ 2795}#)
(values
(#{gen-map\ 2786}#
#{x\ 2853}#
(car #{maps\ 2854}#))
(cdr #{maps\ 2854}#))))))))))
#{tmp\ 2832}#)
(let ((#{tmp\ 2883}#
($sc-dispatch
#{tmp\ 2820}#
'(any . any))))
(if #{tmp\ 2883}#
(@apply
(lambda (#{x\ 2886}# #{y\ 2887}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2780}#
#{src\ 2795}#
#{x\ 2886}#
#{r\ 2797}#
#{maps\ 2798}#
#{ellipsis?\ 2799}#
#{mod\ 2800}#))
(lambda (#{x\ 2888}# #{maps\ 2889}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2780}#
#{src\ 2795}#
#{y\ 2887}#
#{r\ 2797}#
#{maps\ 2889}#
#{ellipsis?\ 2799}#
#{mod\ 2800}#))
(lambda (#{y\ 2892}#
#{maps\ 2893}#)
(values
(#{gen-cons\ 2788}#
#{x\ 2888}#
#{y\ 2892}#)
#{maps\ 2893}#))))))
#{tmp\ 2883}#)
(let ((#{tmp\ 2896}#
($sc-dispatch
#{tmp\ 2820}#
'#(vector (any . each-any)))))
(if #{tmp\ 2896}#
(@apply
(lambda (#{e1\ 2899}# #{e2\ 2900}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2780}#
#{src\ 2795}#
(cons #{e1\ 2899}#
#{e2\ 2900}#)
#{r\ 2797}#
#{maps\ 2798}#
#{ellipsis?\ 2799}#
#{mod\ 2800}#))
(lambda (#{e\ 2902}#
#{maps\ 2903}#)
(values
(#{gen-vector\ 2792}#
#{e\ 2902}#)
#{maps\ 2903}#))))
#{tmp\ 2896}#)
(let ((#{_\ 2907}# #{tmp\ 2820}#))
(values
(list (quote quote) #{e\ 2796}#)
#{maps\ 2798}#))))))))))))))
(#{gen-ref\ 2782}#
(lambda (#{src\ 2909}#
#{var\ 2910}#
#{level\ 2911}#
#{maps\ 2912}#)
(if (#{fx=\ 284}# #{level\ 2911}# 0)
(values #{var\ 2910}# #{maps\ 2912}#)
(if (null? #{maps\ 2912}#)
(syntax-violation
'syntax
"missing ellipsis"
#{src\ 2909}#)
(call-with-values
(lambda ()
(#{gen-ref\ 2782}#
#{src\ 2909}#
#{var\ 2910}#
(#{fx-\ 282}# #{level\ 2911}# 1)
(cdr #{maps\ 2912}#)))
(lambda (#{outer-var\ 2917}# #{outer-maps\ 2918}#)
(begin
(let ((#{b\ 2922}#
(assq #{outer-var\ 2917}#
(car #{maps\ 2912}#))))
(if #{b\ 2922}#
(values (cdr #{b\ 2922}#) #{maps\ 2912}#)
(begin
(let ((#{inner-var\ 2924}#
(#{gen-var\ 492}# (quote tmp))))
(values
#{inner-var\ 2924}#
(cons (cons (cons #{outer-var\ 2917}#
#{inner-var\ 2924}#)
(car #{maps\ 2912}#))
#{outer-maps\ 2918}#)))))))))))))
(#{gen-mappend\ 2784}#
(lambda (#{e\ 2925}# #{map-env\ 2926}#)
(list 'apply
'(primitive append)
(#{gen-map\ 2786}# #{e\ 2925}# #{map-env\ 2926}#))))
(#{gen-map\ 2786}#
(lambda (#{e\ 2930}# #{map-env\ 2931}#)
(begin
(let ((#{formals\ 2936}# (map cdr #{map-env\ 2931}#))
(#{actuals\ 2937}#
(map (lambda (#{x\ 2938}#)
(list (quote ref) (car #{x\ 2938}#)))
#{map-env\ 2931}#)))
(if (eq? (car #{e\ 2930}#) (quote ref))
(car #{actuals\ 2937}#)
(if (and-map
(lambda (#{x\ 2945}#)
(if (eq? (car #{x\ 2945}#) (quote ref))
(memq (car (cdr #{x\ 2945}#))
#{formals\ 2936}#)
#f))
(cdr #{e\ 2930}#))
(cons 'map
(cons (list 'primitive
(car #{e\ 2930}#))
(map (begin
(let ((#{r\ 2951}#
(map cons
#{formals\ 2936}#
#{actuals\ 2937}#)))
(lambda (#{x\ 2952}#)
(cdr (assq (car (cdr #{x\ 2952}#))
#{r\ 2951}#)))))
(cdr #{e\ 2930}#))))
(cons 'map
(cons (list 'lambda
#{formals\ 2936}#
#{e\ 2930}#)
#{actuals\ 2937}#))))))))
(#{gen-cons\ 2788}#
(lambda (#{x\ 2956}# #{y\ 2957}#)
(begin
(let ((#{atom-key\ 2962}# (car #{y\ 2957}#)))
(if (eqv? #{atom-key\ 2962}# (quote quote))
(if (eq? (car #{x\ 2956}#) (quote quote))
(list 'quote
(cons (car (cdr #{x\ 2956}#))
(car (cdr #{y\ 2957}#))))
(if (eq? (car (cdr #{y\ 2957}#)) (quote ()))
(list (quote list) #{x\ 2956}#)
(list (quote cons) #{x\ 2956}# #{y\ 2957}#)))
(if (eqv? #{atom-key\ 2962}# (quote list))
(cons 'list
(cons #{x\ 2956}# (cdr #{y\ 2957}#)))
(list (quote cons) #{x\ 2956}# #{y\ 2957}#)))))))
(#{gen-append\ 2790}#
(lambda (#{x\ 2971}# #{y\ 2972}#)
(if (equal? #{y\ 2972}# (quote (quote ())))
#{x\ 2971}#
(list (quote append) #{x\ 2971}# #{y\ 2972}#))))
(#{gen-vector\ 2792}#
(lambda (#{x\ 2976}#)
(if (eq? (car #{x\ 2976}#) (quote list))
(cons (quote vector) (cdr #{x\ 2976}#))
(if (eq? (car #{x\ 2976}#) (quote quote))
(list 'quote
(list->vector (car (cdr #{x\ 2976}#))))
(list (quote list->vector) #{x\ 2976}#)))))
(#{regen\ 2794}#
(lambda (#{x\ 2986}#)
(begin
(let ((#{atom-key\ 2990}# (car #{x\ 2986}#)))
(if (eqv? #{atom-key\ 2990}# (quote ref))
(#{build-lexical-reference\ 309}#
'value
#f
(car (cdr #{x\ 2986}#))
(car (cdr #{x\ 2986}#)))
(if (eqv? #{atom-key\ 2990}# (quote primitive))
(#{build-primref\ 327}#
#f
(car (cdr #{x\ 2986}#)))
(if (eqv? #{atom-key\ 2990}# (quote quote))
(#{build-data\ 329}# #f (car (cdr #{x\ 2986}#)))
(if (eqv? #{atom-key\ 2990}# (quote lambda))
(if (list? (car (cdr #{x\ 2986}#)))
(#{build-simple-lambda\ 321}#
#f
(car (cdr #{x\ 2986}#))
#f
(car (cdr #{x\ 2986}#))
'()
(#{regen\ 2794}#
(car (cdr (cdr #{x\ 2986}#)))))
(error "how did we get here" #{x\ 2986}#))
(#{build-application\ 303}#
#f
(#{build-primref\ 327}#
#f
(car #{x\ 2986}#))
(map #{regen\ 2794}#
(cdr #{x\ 2986}#))))))))))))
(begin
(lambda (#{e\ 3002}#
#{r\ 3003}#
#{w\ 3004}#
#{s\ 3005}#
#{mod\ 3006}#)
(begin
(let ((#{e\ 3013}#
(#{source-wrap\ 450}#
#{e\ 3002}#
#{w\ 3004}#
#{s\ 3005}#
#{mod\ 3006}#)))
(let ((#{tmp\ 3014}# #{e\ 3013}#))
(let ((#{tmp\ 3015}#
($sc-dispatch
#{tmp\ 3014}#
'(_ any))))
(if #{tmp\ 3015}#
(@apply
(lambda (#{x\ 3017}#)
(call-with-values
(lambda ()
(#{gen-syntax\ 2780}#
#{e\ 3013}#
#{x\ 3017}#
#{r\ 3003}#
'()
#{ellipsis?\ 480}#
#{mod\ 3006}#))
(lambda (#{e\ 3018}# #{maps\ 3019}#)
(#{regen\ 2794}# #{e\ 3018}#))))
#{tmp\ 3015}#)
(let ((#{_\ 3023}# #{tmp\ 3014}#))
(syntax-violation
'syntax
"bad `syntax' form"
#{e\ 3013}#)))))))))))
(#{global-extend\ 375}#
'core
'lambda
(lambda (#{e\ 3024}#
#{r\ 3025}#
#{w\ 3026}#
#{s\ 3027}#
#{mod\ 3028}#)
(let ((#{tmp\ 3034}# #{e\ 3024}#))
(let ((#{tmp\ 3035}#
($sc-dispatch
#{tmp\ 3034}#
'(_ any any . each-any))))
(if #{tmp\ 3035}#
(@apply
(lambda (#{args\ 3039}# #{e1\ 3040}# #{e2\ 3041}#)
(call-with-values
(lambda ()
(#{lambda-formals\ 482}# #{args\ 3039}#))
(lambda (#{req\ 3042}#
#{opt\ 3043}#
#{rest\ 3044}#
#{kw\ 3045}#)
(letrec*
((#{lp\ 3053}#
(lambda (#{body\ 3054}# #{meta\ 3055}#)
(let ((#{tmp\ 3057}# #{body\ 3054}#))
(let ((#{tmp\ 3058}#
($sc-dispatch
#{tmp\ 3057}#
'(any any . each-any))))
(if (if #{tmp\ 3058}#
(@apply
(lambda (#{docstring\ 3062}#
#{e1\ 3063}#
#{e2\ 3064}#)
(string?
(syntax->datum
#{docstring\ 3062}#)))
#{tmp\ 3058}#)
#f)
(@apply
(lambda (#{docstring\ 3068}#
#{e1\ 3069}#
#{e2\ 3070}#)
(#{lp\ 3053}#
(cons #{e1\ 3069}#
#{e2\ 3070}#)
(append
#{meta\ 3055}#
(list (cons 'documentation
(syntax->datum
#{docstring\ 3068}#))))))
#{tmp\ 3058}#)
(let ((#{tmp\ 3073}#
($sc-dispatch
#{tmp\ 3057}#
'(#(vector
#(each (any . any)))
any
.
each-any))))
(if #{tmp\ 3073}#
(@apply
(lambda (#{k\ 3078}#
#{v\ 3079}#
#{e1\ 3080}#
#{e2\ 3081}#)
(#{lp\ 3053}#
(cons #{e1\ 3080}#
#{e2\ 3081}#)
(append
#{meta\ 3055}#
(syntax->datum
(map cons
#{k\ 3078}#
#{v\ 3079}#)))))
#{tmp\ 3073}#)
(let ((#{_\ 3086}#
#{tmp\ 3057}#))
(#{chi-simple-lambda\ 484}#
#{e\ 3024}#
#{r\ 3025}#
#{w\ 3026}#
#{s\ 3027}#
#{mod\ 3028}#
#{req\ 3042}#
#{rest\ 3044}#
#{meta\ 3055}#
#{body\ 3054}#))))))))))
(begin
(#{lp\ 3053}#
(cons #{e1\ 3040}# #{e2\ 3041}#)
'()))))))
#{tmp\ 3035}#)
(let ((#{_\ 3088}# #{tmp\ 3034}#))
(syntax-violation
'lambda
"bad lambda"
#{e\ 3024}#)))))))
(#{global-extend\ 375}#
'core
'lambda*
(lambda (#{e\ 3089}#
#{r\ 3090}#
#{w\ 3091}#
#{s\ 3092}#
#{mod\ 3093}#)
(let ((#{tmp\ 3099}# #{e\ 3089}#))
(let ((#{tmp\ 3100}#
($sc-dispatch
#{tmp\ 3099}#
'(_ any any . each-any))))
(if #{tmp\ 3100}#
(@apply
(lambda (#{args\ 3104}# #{e1\ 3105}# #{e2\ 3106}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 488}#
#{e\ 3089}#
#{r\ 3090}#
#{w\ 3091}#
#{s\ 3092}#
#{mod\ 3093}#
#{lambda*-formals\ 486}#
(list (cons #{args\ 3104}#
(cons #{e1\ 3105}#
#{e2\ 3106}#)))))
(lambda (#{meta\ 3108}# #{lcase\ 3109}#)
(#{build-case-lambda\ 323}#
#{s\ 3092}#
#{meta\ 3108}#
#{lcase\ 3109}#))))
#{tmp\ 3100}#)
(let ((#{_\ 3113}# #{tmp\ 3099}#))
(syntax-violation
'lambda
"bad lambda*"
#{e\ 3089}#)))))))
(#{global-extend\ 375}#
'core
'case-lambda
(lambda (#{e\ 3114}#
#{r\ 3115}#
#{w\ 3116}#
#{s\ 3117}#
#{mod\ 3118}#)
(let ((#{tmp\ 3124}# #{e\ 3114}#))
(let ((#{tmp\ 3125}#
($sc-dispatch
#{tmp\ 3124}#
'(_ (any any . each-any)
.
#(each (any any . each-any))))))
(if #{tmp\ 3125}#
(@apply
(lambda (#{args\ 3132}#
#{e1\ 3133}#
#{e2\ 3134}#
#{args*\ 3135}#
#{e1*\ 3136}#
#{e2*\ 3137}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 488}#
#{e\ 3114}#
#{r\ 3115}#
#{w\ 3116}#
#{s\ 3117}#
#{mod\ 3118}#
#{lambda-formals\ 482}#
(cons (cons #{args\ 3132}#
(cons #{e1\ 3133}# #{e2\ 3134}#))
(map (lambda (#{tmp\ 3141}#
#{tmp\ 3140}#
#{tmp\ 3139}#)
(cons #{tmp\ 3139}#
(cons #{tmp\ 3140}#
#{tmp\ 3141}#)))
#{e2*\ 3137}#
#{e1*\ 3136}#
#{args*\ 3135}#))))
(lambda (#{meta\ 3143}# #{lcase\ 3144}#)
(#{build-case-lambda\ 323}#
#{s\ 3117}#
#{meta\ 3143}#
#{lcase\ 3144}#))))
#{tmp\ 3125}#)
(let ((#{_\ 3148}# #{tmp\ 3124}#))
(syntax-violation
'case-lambda
"bad case-lambda"
#{e\ 3114}#)))))))
(#{global-extend\ 375}#
'core
'case-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 . each-any)
.
#(each (any any . each-any))))))
(if #{tmp\ 3160}#
(@apply
(lambda (#{args\ 3167}#
#{e1\ 3168}#
#{e2\ 3169}#
#{args*\ 3170}#
#{e1*\ 3171}#
#{e2*\ 3172}#)
(call-with-values
(lambda ()
(#{chi-lambda-case\ 488}#
#{e\ 3149}#
#{r\ 3150}#
#{w\ 3151}#
#{s\ 3152}#
#{mod\ 3153}#
#{lambda*-formals\ 486}#
(cons (cons #{args\ 3167}#
(cons #{e1\ 3168}# #{e2\ 3169}#))
(map (lambda (#{tmp\ 3176}#
#{tmp\ 3175}#
#{tmp\ 3174}#)
(cons #{tmp\ 3174}#
(cons #{tmp\ 3175}#
#{tmp\ 3176}#)))
#{e2*\ 3172}#
#{e1*\ 3171}#
#{args*\ 3170}#))))
(lambda (#{meta\ 3178}# #{lcase\ 3179}#)
(#{build-case-lambda\ 323}#
#{s\ 3152}#
#{meta\ 3178}#
#{lcase\ 3179}#))))
#{tmp\ 3160}#)
(let ((#{_\ 3183}# #{tmp\ 3159}#))
(syntax-violation
'case-lambda
"bad case-lambda*"
#{e\ 3149}#)))))))
(#{global-extend\ 375}#
'core
'let
(letrec*
((#{chi-let\ 3185}#
(lambda (#{e\ 3186}#
#{r\ 3187}#
#{w\ 3188}#
#{s\ 3189}#
#{mod\ 3190}#
#{constructor\ 3191}#
#{ids\ 3192}#
#{vals\ 3193}#
#{exps\ 3194}#)
(if (not (#{valid-bound-ids?\ 442}# #{ids\ 3192}#))
(syntax-violation
'let
"duplicate bound variable"
#{e\ 3186}#)
(begin
(let ((#{labels\ 3206}#
(#{gen-labels\ 397}# #{ids\ 3192}#))
(#{new-vars\ 3207}#
(map #{gen-var\ 492}# #{ids\ 3192}#)))
(begin
(let ((#{nw\ 3210}#
(#{make-binding-wrap\ 426}#
#{ids\ 3192}#
#{labels\ 3206}#
#{w\ 3188}#))
(#{nr\ 3211}#
(#{extend-var-env\ 369}#
#{labels\ 3206}#
#{new-vars\ 3207}#
#{r\ 3187}#)))
(#{constructor\ 3191}#
#{s\ 3189}#
(map syntax->datum #{ids\ 3192}#)
#{new-vars\ 3207}#
(map (lambda (#{x\ 3212}#)
(#{chi\ 464}#
#{x\ 3212}#
#{r\ 3187}#
#{w\ 3188}#
#{mod\ 3190}#))
#{vals\ 3193}#)
(#{chi-body\ 472}#
#{exps\ 3194}#
(#{source-wrap\ 450}#
#{e\ 3186}#
#{nw\ 3210}#
#{s\ 3189}#
#{mod\ 3190}#)
#{nr\ 3211}#
#{nw\ 3210}#
#{mod\ 3190}#))))))))))
(begin
(lambda (#{e\ 3214}#
#{r\ 3215}#
#{w\ 3216}#
#{s\ 3217}#
#{mod\ 3218}#)
(let ((#{tmp\ 3224}# #{e\ 3214}#))
(let ((#{tmp\ 3225}#
($sc-dispatch
#{tmp\ 3224}#
'(_ #(each (any any)) any . each-any))))
(if (if #{tmp\ 3225}#
(@apply
(lambda (#{id\ 3230}#
#{val\ 3231}#
#{e1\ 3232}#
#{e2\ 3233}#)
(and-map #{id?\ 379}# #{id\ 3230}#))
#{tmp\ 3225}#)
#f)
(@apply
(lambda (#{id\ 3239}#
#{val\ 3240}#
#{e1\ 3241}#
#{e2\ 3242}#)
(#{chi-let\ 3185}#
#{e\ 3214}#
#{r\ 3215}#
#{w\ 3216}#
#{s\ 3217}#
#{mod\ 3218}#
#{build-let\ 333}#
#{id\ 3239}#
#{val\ 3240}#
(cons #{e1\ 3241}# #{e2\ 3242}#)))
#{tmp\ 3225}#)
(let ((#{tmp\ 3246}#
($sc-dispatch
#{tmp\ 3224}#
'(_ any
#(each (any any))
any
.
each-any))))
(if (if #{tmp\ 3246}#
(@apply
(lambda (#{f\ 3252}#
#{id\ 3253}#
#{val\ 3254}#
#{e1\ 3255}#
#{e2\ 3256}#)
(if (#{id?\ 379}# #{f\ 3252}#)
(and-map #{id?\ 379}# #{id\ 3253}#)
#f))
#{tmp\ 3246}#)
#f)
(@apply
(lambda (#{f\ 3265}#
#{id\ 3266}#
#{val\ 3267}#
#{e1\ 3268}#
#{e2\ 3269}#)
(#{chi-let\ 3185}#
#{e\ 3214}#
#{r\ 3215}#
#{w\ 3216}#
#{s\ 3217}#
#{mod\ 3218}#
#{build-named-let\ 335}#
(cons #{f\ 3265}# #{id\ 3266}#)
#{val\ 3267}#
(cons #{e1\ 3268}# #{e2\ 3269}#)))
#{tmp\ 3246}#)
(let ((#{_\ 3274}# #{tmp\ 3224}#))
(syntax-violation
'let
"bad let"
(#{source-wrap\ 450}#
#{e\ 3214}#
#{w\ 3216}#
#{s\ 3217}#
#{mod\ 3218}#))))))))))))
(#{global-extend\ 375}#
'core
'letrec
(lambda (#{e\ 3275}#
#{r\ 3276}#
#{w\ 3277}#
#{s\ 3278}#
#{mod\ 3279}#)
(let ((#{tmp\ 3285}# #{e\ 3275}#))
(let ((#{tmp\ 3286}#
($sc-dispatch
#{tmp\ 3285}#
'(_ #(each (any any)) any . each-any))))
(if (if #{tmp\ 3286}#
(@apply
(lambda (#{id\ 3291}#
#{val\ 3292}#
#{e1\ 3293}#
#{e2\ 3294}#)
(and-map #{id?\ 379}# #{id\ 3291}#))
#{tmp\ 3286}#)
#f)
(@apply
(lambda (#{id\ 3300}#
#{val\ 3301}#
#{e1\ 3302}#
#{e2\ 3303}#)
(begin
(let ((#{ids\ 3305}# #{id\ 3300}#))
(if (not (#{valid-bound-ids?\ 442}#
#{ids\ 3305}#))
(syntax-violation
'letrec
"duplicate bound variable"
#{e\ 3275}#)
(begin
(let ((#{labels\ 3309}#
(#{gen-labels\ 397}# #{ids\ 3305}#))
(#{new-vars\ 3310}#
(map #{gen-var\ 492}#
#{ids\ 3305}#)))
(begin
(let ((#{w\ 3313}#
(#{make-binding-wrap\ 426}#
#{ids\ 3305}#
#{labels\ 3309}#
#{w\ 3277}#))
(#{r\ 3314}#
(#{extend-var-env\ 369}#
#{labels\ 3309}#
#{new-vars\ 3310}#
#{r\ 3276}#)))
(#{build-letrec\ 337}#
#{s\ 3278}#
#f
(map syntax->datum #{ids\ 3305}#)
#{new-vars\ 3310}#
(map (lambda (#{x\ 3315}#)
(#{chi\ 464}#
#{x\ 3315}#
#{r\ 3314}#
#{w\ 3313}#
#{mod\ 3279}#))
#{val\ 3301}#)
(#{chi-body\ 472}#
(cons #{e1\ 3302}# #{e2\ 3303}#)
(#{source-wrap\ 450}#
#{e\ 3275}#
#{w\ 3313}#
#{s\ 3278}#
#{mod\ 3279}#)
#{r\ 3314}#
#{w\ 3313}#
#{mod\ 3279}#))))))))))
#{tmp\ 3286}#)
(let ((#{_\ 3320}# #{tmp\ 3285}#))
(syntax-violation
'letrec
"bad letrec"
(#{source-wrap\ 450}#
#{e\ 3275}#
#{w\ 3277}#
#{s\ 3278}#
#{mod\ 3279}#))))))))
(#{global-extend\ 375}#
'core
'letrec*
(lambda (#{e\ 3321}#
#{r\ 3322}#
#{w\ 3323}#
#{s\ 3324}#
#{mod\ 3325}#)
(let ((#{tmp\ 3331}# #{e\ 3321}#))
(let ((#{tmp\ 3332}#
($sc-dispatch
#{tmp\ 3331}#
'(_ #(each (any any)) any . each-any))))
(if (if #{tmp\ 3332}#
(@apply
(lambda (#{id\ 3337}#
#{val\ 3338}#
#{e1\ 3339}#
#{e2\ 3340}#)
(and-map #{id?\ 379}# #{id\ 3337}#))
#{tmp\ 3332}#)
#f)
(@apply
(lambda (#{id\ 3346}#
#{val\ 3347}#
#{e1\ 3348}#
#{e2\ 3349}#)
(begin
(let ((#{ids\ 3351}# #{id\ 3346}#))
(if (not (#{valid-bound-ids?\ 442}#
#{ids\ 3351}#))
(syntax-violation
'letrec*
"duplicate bound variable"
#{e\ 3321}#)
(begin
(let ((#{labels\ 3355}#
(#{gen-labels\ 397}# #{ids\ 3351}#))
(#{new-vars\ 3356}#
(map #{gen-var\ 492}#
#{ids\ 3351}#)))
(begin
(let ((#{w\ 3359}#
(#{make-binding-wrap\ 426}#
#{ids\ 3351}#
#{labels\ 3355}#
#{w\ 3323}#))
(#{r\ 3360}#
(#{extend-var-env\ 369}#
#{labels\ 3355}#
#{new-vars\ 3356}#
#{r\ 3322}#)))
(#{build-letrec\ 337}#
#{s\ 3324}#
#t
(map syntax->datum #{ids\ 3351}#)
#{new-vars\ 3356}#
(map (lambda (#{x\ 3361}#)
(#{chi\ 464}#
#{x\ 3361}#
#{r\ 3360}#
#{w\ 3359}#
#{mod\ 3325}#))
#{val\ 3347}#)
(#{chi-body\ 472}#
(cons #{e1\ 3348}# #{e2\ 3349}#)
(#{source-wrap\ 450}#
#{e\ 3321}#
#{w\ 3359}#
#{s\ 3324}#
#{mod\ 3325}#)
#{r\ 3360}#
#{w\ 3359}#
#{mod\ 3325}#))))))))))
#{tmp\ 3332}#)
(let ((#{_\ 3366}# #{tmp\ 3331}#))
(syntax-violation
'letrec*
"bad letrec*"
(#{source-wrap\ 450}#
#{e\ 3321}#
#{w\ 3323}#
#{s\ 3324}#
#{mod\ 3325}#))))))))
(#{global-extend\ 375}#
'core
'set!
(lambda (#{e\ 3367}#
#{r\ 3368}#
#{w\ 3369}#
#{s\ 3370}#
#{mod\ 3371}#)
(let ((#{tmp\ 3377}# #{e\ 3367}#))
(let ((#{tmp\ 3378}#
($sc-dispatch #{tmp\ 3377}# (quote (_ any any)))))
(if (if #{tmp\ 3378}#
(@apply
(lambda (#{id\ 3381}# #{val\ 3382}#)
(#{id?\ 379}# #{id\ 3381}#))
#{tmp\ 3378}#)
#f)
(@apply
(lambda (#{id\ 3385}# #{val\ 3386}#)
(begin
(let ((#{n\ 3389}#
(#{id-var-name\ 436}#
#{id\ 3385}#
#{w\ 3369}#))
(#{id-mod\ 3390}#
(if (#{syntax-object?\ 343}# #{id\ 3385}#)
(#{syntax-object-module\ 349}#
#{id\ 3385}#)
#{mod\ 3371}#)))
(begin
(let ((#{b\ 3392}#
(#{lookup\ 373}#
#{n\ 3389}#
#{r\ 3368}#
#{id-mod\ 3390}#)))
(begin
(let ((#{atom-key\ 3395}#
(#{binding-type\ 362}#
#{b\ 3392}#)))
(if (eqv? #{atom-key\ 3395}#
'lexical)
(#{build-lexical-assignment\ 311}#
#{s\ 3370}#
(syntax->datum #{id\ 3385}#)
(#{binding-value\ 364}# #{b\ 3392}#)
(#{chi\ 464}#
#{val\ 3386}#
#{r\ 3368}#
#{w\ 3369}#
#{mod\ 3371}#))
(if (eqv? #{atom-key\ 3395}#
'global)
(#{build-global-assignment\ 317}#
#{s\ 3370}#
#{n\ 3389}#
(#{chi\ 464}#
#{val\ 3386}#
#{r\ 3368}#
#{w\ 3369}#
#{mod\ 3371}#)
#{id-mod\ 3390}#)
(if (eqv? #{atom-key\ 3395}#
'macro)
(begin
(let ((#{p\ 3400}#
(#{binding-value\ 364}#
#{b\ 3392}#)))
(if (procedure-property
#{p\ 3400}#
'variable-transformer)
(#{chi\ 464}#
(#{chi-macro\ 470}#
#{p\ 3400}#
#{e\ 3367}#
#{r\ 3368}#
#{w\ 3369}#
#{s\ 3370}#
#f
#{mod\ 3371}#)
#{r\ 3368}#
'(())
#{mod\ 3371}#)
(syntax-violation
'set!
"not a variable transformer"
(#{wrap\ 448}#
#{e\ 3367}#
#{w\ 3369}#
#{mod\ 3371}#)
(#{wrap\ 448}#
#{id\ 3385}#
#{w\ 3369}#
#{id-mod\ 3390}#)))))
(if (eqv? #{atom-key\ 3395}#
'displaced-lexical)
(syntax-violation
'set!
"identifier out of context"
(#{wrap\ 448}#
#{id\ 3385}#
#{w\ 3369}#
#{mod\ 3371}#))
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 450}#
#{e\ 3367}#
#{w\ 3369}#
#{s\ 3370}#
#{mod\ 3371}#)))))))))))))
#{tmp\ 3378}#)
(let ((#{tmp\ 3404}#
($sc-dispatch
#{tmp\ 3377}#
'(_ (any . each-any) any))))
(if #{tmp\ 3404}#
(@apply
(lambda (#{head\ 3408}#
#{tail\ 3409}#
#{val\ 3410}#)
(call-with-values
(lambda ()
(#{syntax-type\ 460}#
#{head\ 3408}#
#{r\ 3368}#
'(())
#f
#f
#{mod\ 3371}#
#t))
(lambda (#{type\ 3413}#
#{value\ 3414}#
#{ee\ 3415}#
#{ww\ 3416}#
#{ss\ 3417}#
#{modmod\ 3418}#)
(if (eqv? #{type\ 3413}# (quote module-ref))
(begin
(let ((#{val\ 3427}#
(#{chi\ 464}#
#{val\ 3410}#
#{r\ 3368}#
#{w\ 3369}#
#{mod\ 3371}#)))
(call-with-values
(lambda ()
(#{value\ 3414}#
(cons #{head\ 3408}#
#{tail\ 3409}#)
#{r\ 3368}#
#{w\ 3369}#))
(lambda (#{e\ 3429}#
#{r\ 3430}#
#{w\ 3431}#
#{s*\ 3432}#
#{mod\ 3433}#)
(let ((#{tmp\ 3439}# #{e\ 3429}#))
(let ((#{tmp\ 3440}#
(list #{tmp\ 3439}#)))
(if (if #{tmp\ 3440}#
(@apply
(lambda (#{e\ 3442}#)
(#{id?\ 379}#
#{e\ 3442}#))
#{tmp\ 3440}#)
#f)
(@apply
(lambda (#{e\ 3444}#)
(#{build-global-assignment\ 317}#
#{s\ 3370}#
(syntax->datum
#{e\ 3444}#)
#{val\ 3427}#
#{mod\ 3433}#))
#{tmp\ 3440}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3439}#))))))))
(#{build-application\ 303}#
#{s\ 3370}#
(#{chi\ 464}#
(list '#(syntax-object
setter
((top)
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(type
value
ee
ww
ss
modmod)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i3419"
"i3420"
"i3421"
"i3422"
"i3423"
"i3424"))
#(ribcage
#(head tail val)
#((top) (top) (top))
#("i3405" "i3406" "i3407"))
#(ribcage () () ())
#(ribcage
#(e r w s mod)
#((top)
(top)
(top)
(top)
(top))
#("i3372"
"i3373"
"i3374"
"i3375"
"i3376"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top) (top) (top) (top))
("i38" "i37" "i36" "i34")))
(hygiene guile))
#{head\ 3408}#)
#{r\ 3368}#
#{w\ 3369}#
#{mod\ 3371}#)
(map (lambda (#{e\ 3446}#)
(#{chi\ 464}#
#{e\ 3446}#
#{r\ 3368}#
#{w\ 3369}#
#{mod\ 3371}#))
(append
#{tail\ 3409}#
(list #{val\ 3410}#))))))))
#{tmp\ 3404}#)
(let ((#{_\ 3450}# #{tmp\ 3377}#))
(syntax-violation
'set!
"bad set!"
(#{source-wrap\ 450}#
#{e\ 3367}#
#{w\ 3369}#
#{s\ 3370}#
#{mod\ 3371}#))))))))))
(#{global-extend\ 375}#
'module-ref
'@
(lambda (#{e\ 3451}# #{r\ 3452}# #{w\ 3453}#)
(let ((#{tmp\ 3457}# #{e\ 3451}#))
(let ((#{tmp\ 3458}#
($sc-dispatch
#{tmp\ 3457}#
'(_ each-any any))))
(if (if #{tmp\ 3458}#
(@apply
(lambda (#{mod\ 3461}# #{id\ 3462}#)
(if (and-map #{id?\ 379}# #{mod\ 3461}#)
(#{id?\ 379}# #{id\ 3462}#)
#f))
#{tmp\ 3458}#)
#f)
(@apply
(lambda (#{mod\ 3468}# #{id\ 3469}#)
(values
(syntax->datum #{id\ 3469}#)
#{r\ 3452}#
#{w\ 3453}#
#f
(syntax->datum
(cons '#(syntax-object
public
((top)
#(ribcage
#(mod id)
#((top) (top))
#("i3466" "i3467"))
#(ribcage () () ())
#(ribcage
#(e r w)
#((top) (top) (top))
#("i3454" "i3455" "i3456"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top) (top) (top) (top))
("i38" "i37" "i36" "i34")))
(hygiene guile))
#{mod\ 3468}#))))
#{tmp\ 3458}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3457}#))))))
(#{global-extend\ 375}#
'module-ref
'@@
(lambda (#{e\ 3471}# #{r\ 3472}# #{w\ 3473}#)
(letrec*
((#{remodulate\ 3478}#
(lambda (#{x\ 3479}# #{mod\ 3480}#)
(if (pair? #{x\ 3479}#)
(cons (#{remodulate\ 3478}#
(car #{x\ 3479}#)
#{mod\ 3480}#)
(#{remodulate\ 3478}#
(cdr #{x\ 3479}#)
#{mod\ 3480}#))
(if (#{syntax-object?\ 343}# #{x\ 3479}#)
(#{make-syntax-object\ 341}#
(#{remodulate\ 3478}#
(#{syntax-object-expression\ 345}# #{x\ 3479}#)
#{mod\ 3480}#)
(#{syntax-object-wrap\ 347}# #{x\ 3479}#)
#{mod\ 3480}#)
(if (vector? #{x\ 3479}#)
(begin
(let ((#{n\ 3491}# (vector-length #{x\ 3479}#)))
(begin
(let ((#{v\ 3493}#
(make-vector #{n\ 3491}#)))
(letrec*
((#{loop\ 3496}#
(lambda (#{i\ 3497}#)
(if (#{fx=\ 284}#
#{i\ 3497}#
#{n\ 3491}#)
(begin (if #f #f) #{v\ 3493}#)
(begin
(vector-set!
#{v\ 3493}#
#{i\ 3497}#
(#{remodulate\ 3478}#
(vector-ref
#{x\ 3479}#
#{i\ 3497}#)
#{mod\ 3480}#))
(#{loop\ 3496}#
(#{fx+\ 280}#
#{i\ 3497}#
1)))))))
(begin (#{loop\ 3496}# 0)))))))
#{x\ 3479}#))))))
(begin
(let ((#{tmp\ 3501}# #{e\ 3471}#))
(let ((#{tmp\ 3502}#
($sc-dispatch
#{tmp\ 3501}#
'(_ each-any any))))
(if (if #{tmp\ 3502}#
(@apply
(lambda (#{mod\ 3505}# #{exp\ 3506}#)
(and-map #{id?\ 379}# #{mod\ 3505}#))
#{tmp\ 3502}#)
#f)
(@apply
(lambda (#{mod\ 3510}# #{exp\ 3511}#)
(begin
(let ((#{mod\ 3513}#
(syntax->datum
(cons '#(syntax-object
private
((top)
#(ribcage
#(mod exp)
#((top) (top))
#("i3508" "i3509"))
#(ribcage
(remodulate)
((top))
("i3477"))
#(ribcage
#(e r w)
#((top) (top) (top))
#("i3474"
"i3475"
"i3476"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top) (top) (top) (top))
("i38"
"i37"
"i36"
"i34")))
(hygiene guile))
#{mod\ 3510}#))))
(values
(#{remodulate\ 3478}#
#{exp\ 3511}#
#{mod\ 3513}#)
#{r\ 3472}#
#{w\ 3473}#
(#{source-annotation\ 358}# #{exp\ 3511}#)
#{mod\ 3513}#))))
#{tmp\ 3502}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3501}#))))))))
(#{global-extend\ 375}#
'core
'if
(lambda (#{e\ 3515}#
#{r\ 3516}#
#{w\ 3517}#
#{s\ 3518}#
#{mod\ 3519}#)
(let ((#{tmp\ 3525}# #{e\ 3515}#))
(let ((#{tmp\ 3526}#
($sc-dispatch #{tmp\ 3525}# (quote (_ any any)))))
(if #{tmp\ 3526}#
(@apply
(lambda (#{test\ 3529}# #{then\ 3530}#)
(#{build-conditional\ 305}#
#{s\ 3518}#
(#{chi\ 464}#
#{test\ 3529}#
#{r\ 3516}#
#{w\ 3517}#
#{mod\ 3519}#)
(#{chi\ 464}#
#{then\ 3530}#
#{r\ 3516}#
#{w\ 3517}#
#{mod\ 3519}#)
(#{build-void\ 301}# #f)))
#{tmp\ 3526}#)
(let ((#{tmp\ 3532}#
($sc-dispatch
#{tmp\ 3525}#
'(_ any any any))))
(if #{tmp\ 3532}#
(@apply
(lambda (#{test\ 3536}#
#{then\ 3537}#
#{else\ 3538}#)
(#{build-conditional\ 305}#
#{s\ 3518}#
(#{chi\ 464}#
#{test\ 3536}#
#{r\ 3516}#
#{w\ 3517}#
#{mod\ 3519}#)
(#{chi\ 464}#
#{then\ 3537}#
#{r\ 3516}#
#{w\ 3517}#
#{mod\ 3519}#)
(#{chi\ 464}#
#{else\ 3538}#
#{r\ 3516}#
#{w\ 3517}#
#{mod\ 3519}#)))
#{tmp\ 3532}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3525}#))))))))
(#{global-extend\ 375}#
'core
'with-fluids
(lambda (#{e\ 3539}#
#{r\ 3540}#
#{w\ 3541}#
#{s\ 3542}#
#{mod\ 3543}#)
(let ((#{tmp\ 3549}# #{e\ 3539}#))
(let ((#{tmp\ 3550}#
($sc-dispatch
#{tmp\ 3549}#
'(_ #(each (any any)) any . each-any))))
(if #{tmp\ 3550}#
(@apply
(lambda (#{fluid\ 3555}#
#{val\ 3556}#
#{b\ 3557}#
#{b*\ 3558}#)
(#{build-dynlet\ 307}#
#{s\ 3542}#
(map (lambda (#{x\ 3559}#)
(#{chi\ 464}#
#{x\ 3559}#
#{r\ 3540}#
#{w\ 3541}#
#{mod\ 3543}#))
#{fluid\ 3555}#)
(map (lambda (#{x\ 3562}#)
(#{chi\ 464}#
#{x\ 3562}#
#{r\ 3540}#
#{w\ 3541}#
#{mod\ 3543}#))
#{val\ 3556}#)
(#{chi-body\ 472}#
(cons #{b\ 3557}# #{b*\ 3558}#)
(#{source-wrap\ 450}#
#{e\ 3539}#
#{w\ 3541}#
#{s\ 3542}#
#{mod\ 3543}#)
#{r\ 3540}#
#{w\ 3541}#
#{mod\ 3543}#)))
#{tmp\ 3550}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3549}#))))))
(#{global-extend\ 375}#
'begin
'begin
'())
(#{global-extend\ 375}#
'define
'define
'())
(#{global-extend\ 375}#
'define-syntax
'define-syntax
'())
(#{global-extend\ 375}#
'eval-when
'eval-when
'())
(#{global-extend\ 375}#
'core
'syntax-case
(letrec*
((#{convert-pattern\ 3567}#
(lambda (#{pattern\ 3574}# #{keys\ 3575}#)
(letrec*
((#{cvt*\ 3579}#
(lambda (#{p*\ 3582}# #{n\ 3583}# #{ids\ 3584}#)
(if (null? #{p*\ 3582}#)
(values (quote ()) #{ids\ 3584}#)
(call-with-values
(lambda ()
(#{cvt*\ 3579}#
(cdr #{p*\ 3582}#)
#{n\ 3583}#
#{ids\ 3584}#))
(lambda (#{y\ 3588}# #{ids\ 3589}#)
(call-with-values
(lambda ()
(#{cvt\ 3581}#
(car #{p*\ 3582}#)
#{n\ 3583}#
#{ids\ 3589}#))
(lambda (#{x\ 3592}# #{ids\ 3593}#)
(values
(cons #{x\ 3592}# #{y\ 3588}#)
#{ids\ 3593}#))))))))
(#{cvt\ 3581}#
(lambda (#{p\ 3596}# #{n\ 3597}# #{ids\ 3598}#)
(if (#{id?\ 379}# #{p\ 3596}#)
(if (#{bound-id-member?\ 446}#
#{p\ 3596}#
#{keys\ 3575}#)
(values
(vector (quote free-id) #{p\ 3596}#)
#{ids\ 3598}#)
(if (#{free-id=?\ 438}#
#{p\ 3596}#
'#(syntax-object
_
((top)
#(ribcage () () ())
#(ribcage
#(p n ids)
#((top) (top) (top))
#("i3599" "i3600" "i3601"))
#(ribcage
(cvt cvt*)
((top) (top))
("i3580" "i3578"))
#(ribcage
#(pattern keys)
#((top) (top))
#("i3576" "i3577"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top) (top) (top) (top))
("i3572" "i3570" "i3568" "i3566"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top) (top) (top) (top))
("i38" "i37" "i36" "i34")))
(hygiene guile)))
(values (quote _) #{ids\ 3598}#)
(values
'any
(cons (cons #{p\ 3596}# #{n\ 3597}#)
#{ids\ 3598}#))))
(let ((#{tmp\ 3607}# #{p\ 3596}#))
(let ((#{tmp\ 3608}#
($sc-dispatch
#{tmp\ 3607}#
'(any any))))
(if (if #{tmp\ 3608}#
(@apply
(lambda (#{x\ 3611}# #{dots\ 3612}#)
(#{ellipsis?\ 480}#
#{dots\ 3612}#))
#{tmp\ 3608}#)
#f)
(@apply
(lambda (#{x\ 3615}# #{dots\ 3616}#)
(call-with-values
(lambda ()
(#{cvt\ 3581}#
#{x\ 3615}#
(#{fx+\ 280}# #{n\ 3597}# 1)
#{ids\ 3598}#))
(lambda (#{p\ 3617}# #{ids\ 3618}#)
(values
(if (eq? #{p\ 3617}# (quote any))
'each-any
(vector
'each
#{p\ 3617}#))
#{ids\ 3618}#))))
#{tmp\ 3608}#)
(let ((#{tmp\ 3621}#
($sc-dispatch
#{tmp\ 3607}#
'(any any . each-any))))
(if (if #{tmp\ 3621}#
(@apply
(lambda (#{x\ 3625}#
#{dots\ 3626}#
#{ys\ 3627}#)
(#{ellipsis?\ 480}#
#{dots\ 3626}#))
#{tmp\ 3621}#)
#f)
(@apply
(lambda (#{x\ 3631}#
#{dots\ 3632}#
#{ys\ 3633}#)
(call-with-values
(lambda ()
(#{cvt*\ 3579}#
#{ys\ 3633}#
#{n\ 3597}#
#{ids\ 3598}#))
(lambda (#{ys\ 3635}#
#{ids\ 3636}#)
(call-with-values
(lambda ()
(#{cvt\ 3581}#
#{x\ 3631}#
(1+ #{n\ 3597}#)
#{ids\ 3636}#))
(lambda (#{x\ 3639}#
#{ids\ 3640}#)
(values
(list->vector
(cons 'each+
(cons #{x\ 3639}#
(cons (reverse
#{ys\ 3635}#)
'(())))))
#{ids\ 3640}#))))))
#{tmp\ 3621}#)
(let ((#{tmp\ 3644}#
($sc-dispatch
#{tmp\ 3607}#
'(any . any))))
(if #{tmp\ 3644}#
(@apply
(lambda (#{x\ 3647}# #{y\ 3648}#)
(call-with-values
(lambda ()
(#{cvt\ 3581}#
#{y\ 3648}#
#{n\ 3597}#
#{ids\ 3598}#))
(lambda (#{y\ 3649}#
#{ids\ 3650}#)
(call-with-values
(lambda ()
(#{cvt\ 3581}#
#{x\ 3647}#
#{n\ 3597}#
#{ids\ 3650}#))
(lambda (#{x\ 3653}#
#{ids\ 3654}#)
(values
(cons #{x\ 3653}#
#{y\ 3649}#)
#{ids\ 3654}#))))))
#{tmp\ 3644}#)
(let ((#{tmp\ 3657}#
($sc-dispatch
#{tmp\ 3607}#
'())))
(if #{tmp\ 3657}#
(@apply
(lambda ()
(values
'()
#{ids\ 3598}#))
#{tmp\ 3657}#)
(let ((#{tmp\ 3658}#
($sc-dispatch
#{tmp\ 3607}#
'#(vector
each-any))))
(if #{tmp\ 3658}#
(@apply
(lambda (#{x\ 3660}#)
(call-with-values
(lambda ()
(#{cvt\ 3581}#
#{x\ 3660}#
#{n\ 3597}#
#{ids\ 3598}#))
(lambda (#{p\ 3662}#
#{ids\ 3663}#)
(values
(vector
'vector
#{p\ 3662}#)
#{ids\ 3663}#))))
#{tmp\ 3658}#)
(let ((#{x\ 3667}#
#{tmp\ 3607}#))
(values
(vector
'atom
(#{strip\ 490}#
#{p\ 3596}#
'(())))
#{ids\ 3598}#)))))))))))))))))
(begin
(#{cvt\ 3581}# #{pattern\ 3574}# 0 (quote ()))))))
(#{build-dispatch-call\ 3569}#
(lambda (#{pvars\ 3669}#
#{exp\ 3670}#
#{y\ 3671}#
#{r\ 3672}#
#{mod\ 3673}#)
(begin
(map cdr #{pvars\ 3669}#)
(let ((#{ids\ 3681}# (map car #{pvars\ 3669}#)))
(begin
(let ((#{labels\ 3685}#
(#{gen-labels\ 397}# #{ids\ 3681}#))
(#{new-vars\ 3686}#
(map #{gen-var\ 492}# #{ids\ 3681}#)))
(#{build-application\ 303}#
#f
(#{build-primref\ 327}# #f (quote apply))
(list (#{build-simple-lambda\ 321}#
#f
(map syntax->datum #{ids\ 3681}#)
#f
#{new-vars\ 3686}#
'()
(#{chi\ 464}#
#{exp\ 3670}#
(#{extend-env\ 367}#
#{labels\ 3685}#
(map (lambda (#{var\ 3690}#
#{level\ 3691}#)
(cons 'syntax
(cons #{var\ 3690}#
#{level\ 3691}#)))
#{new-vars\ 3686}#
(map cdr #{pvars\ 3669}#))
#{r\ 3672}#)
(#{make-binding-wrap\ 426}#
#{ids\ 3681}#
#{labels\ 3685}#
'(()))
#{mod\ 3673}#))
#{y\ 3671}#))))))))
(#{gen-clause\ 3571}#
(lambda (#{x\ 3697}#
#{keys\ 3698}#
#{clauses\ 3699}#
#{r\ 3700}#
#{pat\ 3701}#
#{fender\ 3702}#
#{exp\ 3703}#
#{mod\ 3704}#)
(call-with-values
(lambda ()
(#{convert-pattern\ 3567}#
#{pat\ 3701}#
#{keys\ 3698}#))
(lambda (#{p\ 3713}# #{pvars\ 3714}#)
(if (not (#{distinct-bound-ids?\ 444}#
(map car #{pvars\ 3714}#)))
(syntax-violation
'syntax-case
"duplicate pattern variable"
#{pat\ 3701}#)
(if (not (and-map
(lambda (#{x\ 3721}#)
(not (#{ellipsis?\ 480}#
(car #{x\ 3721}#))))
#{pvars\ 3714}#))
(syntax-violation
'syntax-case
"misplaced ellipsis"
#{pat\ 3701}#)
(begin
(let ((#{y\ 3725}#
(#{gen-var\ 492}# (quote tmp))))
(#{build-application\ 303}#
#f
(#{build-simple-lambda\ 321}#
#f
(list (quote tmp))
#f
(list #{y\ 3725}#)
'()
(begin
(let ((#{y\ 3729}#
(#{build-lexical-reference\ 309}#
'value
#f
'tmp
#{y\ 3725}#)))
(#{build-conditional\ 305}#
#f
(let ((#{tmp\ 3732}#
#{fender\ 3702}#))
(let ((#{tmp\ 3733}#
($sc-dispatch
#{tmp\ 3732}#
'#(atom #t))))
(if #{tmp\ 3733}#
(@apply
(lambda () #{y\ 3729}#)
#{tmp\ 3733}#)
(let ((#{_\ 3735}#
#{tmp\ 3732}#))
(#{build-conditional\ 305}#
#f
#{y\ 3729}#
(#{build-dispatch-call\ 3569}#
#{pvars\ 3714}#
#{fender\ 3702}#
#{y\ 3729}#
#{r\ 3700}#
#{mod\ 3704}#)
(#{build-data\ 329}#
#f
#f))))))
(#{build-dispatch-call\ 3569}#
#{pvars\ 3714}#
#{exp\ 3703}#
#{y\ 3729}#
#{r\ 3700}#
#{mod\ 3704}#)
(#{gen-syntax-case\ 3573}#
#{x\ 3697}#
#{keys\ 3698}#
#{clauses\ 3699}#
#{r\ 3700}#
#{mod\ 3704}#)))))
(list (if (eq? #{p\ 3713}# (quote any))
(#{build-application\ 303}#
#f
(#{build-primref\ 327}#
#f
'list)
(list #{x\ 3697}#))
(#{build-application\ 303}#
#f
(#{build-primref\ 327}#
#f
'$sc-dispatch)
(list #{x\ 3697}#
(#{build-data\ 329}#
#f
#{p\ 3713}#))))))))))))))
(#{gen-syntax-case\ 3573}#
(lambda (#{x\ 3743}#
#{keys\ 3744}#
#{clauses\ 3745}#
#{r\ 3746}#
#{mod\ 3747}#)
(if (null? #{clauses\ 3745}#)
(#{build-application\ 303}#
#f
(#{build-primref\ 327}#
#f
'syntax-violation)
(list (#{build-data\ 329}# #f #f)
(#{build-data\ 329}#
#f
"source expression failed to match any pattern")
#{x\ 3743}#))
(let ((#{tmp\ 3757}# (car #{clauses\ 3745}#)))
(let ((#{tmp\ 3758}#
($sc-dispatch
#{tmp\ 3757}#
'(any any))))
(if #{tmp\ 3758}#
(@apply
(lambda (#{pat\ 3761}# #{exp\ 3762}#)
(if (if (#{id?\ 379}# #{pat\ 3761}#)
(and-map
(lambda (#{x\ 3765}#)
(not (#{free-id=?\ 438}#
#{pat\ 3761}#
#{x\ 3765}#)))
(cons '#(syntax-object
...
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("i3759" "i3760"))
#(ribcage () () ())
#(ribcage
#(x keys clauses r mod)
#((top)
(top)
(top)
(top)
(top))
#("i3748"
"i3749"
"i3750"
"i3751"
"i3752"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top) (top) (top) (top))
("i3572"
"i3570"
"i3568"
"i3566"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top) (top) (top) (top))
("i38"
"i37"
"i36"
"i34")))
(hygiene guile))
#{keys\ 3744}#))
#f)
(if (#{free-id=?\ 438}#
'#(syntax-object
pad
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("i3759" "i3760"))
#(ribcage () () ())
#(ribcage
#(x keys clauses r mod)
#((top) (top) (top) (top) (top))
#("i3748"
"i3749"
"i3750"
"i3751"
"i3752"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top) (top) (top) (top))
("i3572"
"i3570"
"i3568"
"i3566"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top) (top) (top) (top))
("i38" "i37" "i36" "i34")))
(hygiene guile))
'#(syntax-object
_
((top)
#(ribcage
#(pat exp)
#((top) (top))
#("i3759" "i3760"))
#(ribcage () () ())
#(ribcage
#(x keys clauses r mod)
#((top) (top) (top) (top) (top))
#("i3748"
"i3749"
"i3750"
"i3751"
"i3752"))
#(ribcage
(gen-syntax-case
gen-clause
build-dispatch-call
convert-pattern)
((top) (top) (top) (top))
("i3572"
"i3570"
"i3568"
"i3566"))
#(ribcage
(lambda-var-list
gen-var
strip
chi-lambda-case
lambda*-formals
chi-simple-lambda
lambda-formals
ellipsis?
chi-void
eval-local-transformer
chi-local-syntax
chi-body
chi-macro
chi-application
chi-expr
chi
chi-top
syntax-type
chi-when-list
chi-install-global
chi-top-sequence
chi-sequence
source-wrap
wrap
bound-id-member?
distinct-bound-ids?
valid-bound-ids?
bound-id=?
free-id=?
id-var-name
same-marks?
join-marks
join-wraps
smart-append
make-binding-wrap
extend-ribcage!
make-empty-ribcage
new-mark
anti-mark
the-anti-mark
top-marked?
top-wrap
empty-wrap
set-ribcage-labels!
set-ribcage-marks!
set-ribcage-symnames!
ribcage-labels
ribcage-marks
ribcage-symnames
ribcage?
make-ribcage
gen-labels
gen-label
make-rename
rename-marks
rename-new
rename-old
subst-rename?
wrap-subst
wrap-marks
make-wrap
id-sym-name&marks
id-sym-name
id?
nonsymbol-id?
global-extend
lookup
macros-only-env
extend-var-env
extend-env
null-env
binding-value
binding-type
make-binding
arg-check
source-annotation
no-source
set-syntax-object-module!
set-syntax-object-wrap!
set-syntax-object-expression!
syntax-object-module
syntax-object-wrap
syntax-object-expression
syntax-object?
make-syntax-object
build-lexical-var
build-letrec
build-named-let
build-let
build-sequence
build-data
build-primref
build-lambda-case
build-case-lambda
build-simple-lambda
build-global-definition
build-global-assignment
build-global-reference
analyze-variable
build-lexical-assignment
build-lexical-reference
build-dynlet
build-conditional
build-application
build-void
maybe-name-value!
decorate-source
get-global-definition-hook
put-global-definition-hook
gensym-hook
local-eval-hook
top-level-eval-hook
fx<
fx=
fx-
fx+
set-lambda-meta!
lambda-meta
lambda?
make-dynlet
make-letrec
make-let
make-lambda-case
make-lambda
make-sequence
make-application
make-conditional
make-toplevel-define
make-toplevel-set
make-toplevel-ref
make-module-set
make-module-ref
make-lexical-set
make-lexical-ref
make-primitive-ref
make-const
make-void)
((top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top)
(top))
("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"
"i429"
"i427"
"i425"
"i423"
"i422"
"i421"
"i419"
"i418"
"i417"
"i416"
"i415"
"i413"
"i411"
"i409"
"i407"
"i405"
"i403"
"i401"
"i399"
"i396"
"i394"
"i393"
"i392"
"i391"
"i390"
"i389"
"i387"
"i385"
"i383"
"i381"
"i380"
"i378"
"i376"
"i374"
"i372"
"i370"
"i368"
"i366"
"i365"
"i363"
"i361"
"i360"
"i359"
"i357"
"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"
"i298"
"i296"
"i294"
"i292"
"i291"
"i289"
"i287"
"i285"
"i283"
"i281"
"i279"
"i277"
"i275"
"i273"
"i270"
"i268"
"i266"
"i264"
"i262"
"i260"
"i258"
"i256"
"i254"
"i252"
"i250"
"i248"
"i246"
"i244"
"i242"
"i240"
"i238"
"i236"))
#(ribcage
(define-structure
define-expansion-accessors
define-expansion-constructors
and-map*)
((top) (top) (top) (top))
("i38" "i37" "i36" "i34")))
(hygiene guile)))
(#{chi\ 464}#
#{exp\ 3762}#
#{r\ 3746}#
'(())
#{mod\ 3747}#)
(begin
(let ((#{labels\ 3770}#
(list (#{gen-label\ 395}#)))
(#{var\ 3771}#
(#{gen-var\ 492}#
#{pat\ 3761}#)))
(#{build-application\ 303}#
#f
(#{build-simple-lambda\ 321}#
#f
(list (syntax->datum
#{pat\ 3761}#))
#f
(list #{var\ 3771}#)
'()
(#{chi\ 464}#
#{exp\ 3762}#
(#{extend-env\ 367}#
#{labels\ 3770}#
(list (cons 'syntax
(cons #{var\ 3771}#
0)))
#{r\ 3746}#)
(#{make-binding-wrap\ 426}#
(list #{pat\ 3761}#)
#{labels\ 3770}#
'(()))
#{mod\ 3747}#))
(list #{x\ 3743}#)))))
(#{gen-clause\ 3571}#
#{x\ 3743}#
#{keys\ 3744}#
(cdr #{clauses\ 3745}#)
#{r\ 3746}#
#{pat\ 3761}#
#t
#{exp\ 3762}#
#{mod\ 3747}#)))
#{tmp\ 3758}#)
(let ((#{tmp\ 3777}#
($sc-dispatch
#{tmp\ 3757}#
'(any any any))))
(if #{tmp\ 3777}#
(@apply
(lambda (#{pat\ 3781}#
#{fender\ 3782}#
#{exp\ 3783}#)
(#{gen-clause\ 3571}#
#{x\ 3743}#
#{keys\ 3744}#
(cdr #{clauses\ 3745}#)
#{r\ 3746}#
#{pat\ 3781}#
#{fender\ 3782}#
#{exp\ 3783}#
#{mod\ 3747}#))
#{tmp\ 3777}#)
(let ((#{_\ 3785}# #{tmp\ 3757}#))
(syntax-violation
'syntax-case
"invalid clause"
(car #{clauses\ 3745}#))))))))))))
(begin
(lambda (#{e\ 3786}#
#{r\ 3787}#
#{w\ 3788}#
#{s\ 3789}#
#{mod\ 3790}#)
(begin
(let ((#{e\ 3797}#
(#{source-wrap\ 450}#
#{e\ 3786}#
#{w\ 3788}#
#{s\ 3789}#
#{mod\ 3790}#)))
(let ((#{tmp\ 3798}# #{e\ 3797}#))
(let ((#{tmp\ 3799}#
($sc-dispatch
#{tmp\ 3798}#
'(_ any each-any . each-any))))
(if #{tmp\ 3799}#
(@apply
(lambda (#{val\ 3803}#
#{key\ 3804}#
#{m\ 3805}#)
(if (and-map
(lambda (#{x\ 3806}#)
(if (#{id?\ 379}# #{x\ 3806}#)
(not (#{ellipsis?\ 480}#
#{x\ 3806}#))
#f))
#{key\ 3804}#)
(begin
(let ((#{x\ 3812}#
(#{gen-var\ 492}# (quote tmp))))
(#{build-application\ 303}#
#{s\ 3789}#
(#{build-simple-lambda\ 321}#
#f
(list (quote tmp))
#f
(list #{x\ 3812}#)
'()
(#{gen-syntax-case\ 3573}#
(#{build-lexical-reference\ 309}#
'value
#f
'tmp
#{x\ 3812}#)
#{key\ 3804}#
#{m\ 3805}#
#{r\ 3787}#
#{mod\ 3790}#))
(list (#{chi\ 464}#
#{val\ 3803}#
#{r\ 3787}#
'(())
#{mod\ 3790}#)))))
(syntax-violation
'syntax-case
"invalid literals list"
#{e\ 3797}#)))
#{tmp\ 3799}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 3798}#))))))))))
(set! macroexpand
(lambda*
(#{x\ 3818}#
#:optional
(#{m\ 3820}# (quote e))
(#{esew\ 3822}# (quote (eval))))
(#{chi-top\ 462}#
#{x\ 3818}#
'()
'((top))
#{m\ 3820}#
#{esew\ 3822}#
(cons 'hygiene
(module-name (current-module))))))
(set! identifier?
(lambda (#{x\ 3826}#)
(#{nonsymbol-id?\ 377}# #{x\ 3826}#)))
(set! datum->syntax
(lambda (#{id\ 3828}# #{datum\ 3829}#)
(#{make-syntax-object\ 341}#
#{datum\ 3829}#
(#{syntax-object-wrap\ 347}# #{id\ 3828}#)
(#{syntax-object-module\ 349}# #{id\ 3828}#))))
(set! syntax->datum
(lambda (#{x\ 3832}#)
(#{strip\ 490}# #{x\ 3832}# (quote (())))))
(set! syntax-source
(lambda (#{x\ 3835}#)
(#{source-annotation\ 358}# #{x\ 3835}#)))
(set! generate-temporaries
(lambda (#{ls\ 3837}#)
(begin
(begin
(let ((#{x\ 3841}# #{ls\ 3837}#))
(if (not (list? #{x\ 3841}#))
(syntax-violation
'generate-temporaries
"invalid argument"
#{x\ 3841}#))))
(map (lambda (#{x\ 3842}#)
(#{wrap\ 448}# (gensym) (quote ((top))) #f))
#{ls\ 3837}#))))
(set! free-identifier=?
(lambda (#{x\ 3846}# #{y\ 3847}#)
(begin
(begin
(let ((#{x\ 3852}# #{x\ 3846}#))
(if (not (#{nonsymbol-id?\ 377}# #{x\ 3852}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 3852}#))))
(begin
(let ((#{x\ 3855}# #{y\ 3847}#))
(if (not (#{nonsymbol-id?\ 377}# #{x\ 3855}#))
(syntax-violation
'free-identifier=?
"invalid argument"
#{x\ 3855}#))))
(#{free-id=?\ 438}# #{x\ 3846}# #{y\ 3847}#))))
(set! bound-identifier=?
(lambda (#{x\ 3856}# #{y\ 3857}#)
(begin
(begin
(let ((#{x\ 3862}# #{x\ 3856}#))
(if (not (#{nonsymbol-id?\ 377}# #{x\ 3862}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 3862}#))))
(begin
(let ((#{x\ 3865}# #{y\ 3857}#))
(if (not (#{nonsymbol-id?\ 377}# #{x\ 3865}#))
(syntax-violation
'bound-identifier=?
"invalid argument"
#{x\ 3865}#))))
(#{bound-id=?\ 440}# #{x\ 3856}# #{y\ 3857}#))))
(set! syntax-violation
(lambda (#{who\ 3866}#
#{message\ 3867}#
#{form\ 3868}#
.
#{subform\ 3869}#)
(begin
(begin
(let ((#{x\ 3876}# #{who\ 3866}#))
(if (not (let ((#{x\ 3877}# #{x\ 3876}#))
(begin
(let ((#{t\ 3881}# (not #{x\ 3877}#)))
(if #{t\ 3881}#
#{t\ 3881}#
(begin
(let ((#{t\ 3884}#
(string? #{x\ 3877}#)))
(if #{t\ 3884}#
#{t\ 3884}#
(symbol? #{x\ 3877}#)))))))))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 3876}#))))
(begin
(let ((#{x\ 3888}# #{message\ 3867}#))
(if (not (string? #{x\ 3888}#))
(syntax-violation
'syntax-violation
"invalid argument"
#{x\ 3888}#))))
(scm-error
'syntax-error
'macroexpand
(string-append
(if #{who\ 3866}# "~a: " "")
"~a "
(if (null? #{subform\ 3869}#)
"in ~a"
"in subform `~s' of `~s'"))
(begin
(let ((#{tail\ 3890}#
(cons #{message\ 3867}#
(map (lambda (#{x\ 3891}#)
(#{strip\ 490}#
#{x\ 3891}#
'(())))
(append
#{subform\ 3869}#
(list #{form\ 3868}#))))))
(if #{who\ 3866}#
(cons #{who\ 3866}# #{tail\ 3890}#)
#{tail\ 3890}#)))
#f))))
(letrec*
((#{match-each\ 3895}#
(lambda (#{e\ 3908}#
#{p\ 3909}#
#{w\ 3910}#
#{mod\ 3911}#)
(if (pair? #{e\ 3908}#)
(begin
(let ((#{first\ 3919}#
(#{match\ 3907}#
(car #{e\ 3908}#)
#{p\ 3909}#
#{w\ 3910}#
'()
#{mod\ 3911}#)))
(if #{first\ 3919}#
(begin
(let ((#{rest\ 3923}#
(#{match-each\ 3895}#
(cdr #{e\ 3908}#)
#{p\ 3909}#
#{w\ 3910}#
#{mod\ 3911}#)))
(if #{rest\ 3923}#
(cons #{first\ 3919}# #{rest\ 3923}#)
#f)))
#f)))
(if (null? #{e\ 3908}#)
'()
(if (#{syntax-object?\ 343}# #{e\ 3908}#)
(#{match-each\ 3895}#
(#{syntax-object-expression\ 345}# #{e\ 3908}#)
#{p\ 3909}#
(#{join-wraps\ 430}#
#{w\ 3910}#
(#{syntax-object-wrap\ 347}# #{e\ 3908}#))
(#{syntax-object-module\ 349}# #{e\ 3908}#))
#f)))))
(#{match-each+\ 3897}#
(lambda (#{e\ 3931}#
#{x-pat\ 3932}#
#{y-pat\ 3933}#
#{z-pat\ 3934}#
#{w\ 3935}#
#{r\ 3936}#
#{mod\ 3937}#)
(letrec*
((#{f\ 3948}#
(lambda (#{e\ 3949}# #{w\ 3950}#)
(if (pair? #{e\ 3949}#)
(call-with-values
(lambda ()
(#{f\ 3948}# (cdr #{e\ 3949}#) #{w\ 3950}#))
(lambda (#{xr*\ 3953}#
#{y-pat\ 3954}#
#{r\ 3955}#)
(if #{r\ 3955}#
(if (null? #{y-pat\ 3954}#)
(begin
(let ((#{xr\ 3960}#
(#{match\ 3907}#
(car #{e\ 3949}#)
#{x-pat\ 3932}#
#{w\ 3950}#
'()
#{mod\ 3937}#)))
(if #{xr\ 3960}#
(values
(cons #{xr\ 3960}# #{xr*\ 3953}#)
#{y-pat\ 3954}#
#{r\ 3955}#)
(values #f #f #f))))
(values
'()
(cdr #{y-pat\ 3954}#)
(#{match\ 3907}#
(car #{e\ 3949}#)
(car #{y-pat\ 3954}#)
#{w\ 3950}#
#{r\ 3955}#
#{mod\ 3937}#)))
(values #f #f #f))))
(if (#{syntax-object?\ 343}# #{e\ 3949}#)
(#{f\ 3948}#
(#{syntax-object-expression\ 345}# #{e\ 3949}#)
(#{join-wraps\ 430}# #{w\ 3950}# #{e\ 3949}#))
(values
'()
#{y-pat\ 3933}#
(#{match\ 3907}#
#{e\ 3949}#
#{z-pat\ 3934}#
#{w\ 3950}#
#{r\ 3936}#
#{mod\ 3937}#)))))))
(begin (#{f\ 3948}# #{e\ 3931}# #{w\ 3935}#)))))
(#{match-each-any\ 3899}#
(lambda (#{e\ 3964}# #{w\ 3965}# #{mod\ 3966}#)
(if (pair? #{e\ 3964}#)
(begin
(let ((#{l\ 3973}#
(#{match-each-any\ 3899}#
(cdr #{e\ 3964}#)
#{w\ 3965}#
#{mod\ 3966}#)))
(if #{l\ 3973}#
(cons (#{wrap\ 448}#
(car #{e\ 3964}#)
#{w\ 3965}#
#{mod\ 3966}#)
#{l\ 3973}#)
#f)))
(if (null? #{e\ 3964}#)
'()
(if (#{syntax-object?\ 343}# #{e\ 3964}#)
(#{match-each-any\ 3899}#
(#{syntax-object-expression\ 345}# #{e\ 3964}#)
(#{join-wraps\ 430}#
#{w\ 3965}#
(#{syntax-object-wrap\ 347}# #{e\ 3964}#))
#{mod\ 3966}#)
#f)))))
(#{match-empty\ 3901}#
(lambda (#{p\ 3981}# #{r\ 3982}#)
(if (null? #{p\ 3981}#)
#{r\ 3982}#
(if (eq? #{p\ 3981}# (quote _))
#{r\ 3982}#
(if (eq? #{p\ 3981}# (quote any))
(cons (quote ()) #{r\ 3982}#)
(if (pair? #{p\ 3981}#)
(#{match-empty\ 3901}#
(car #{p\ 3981}#)
(#{match-empty\ 3901}#
(cdr #{p\ 3981}#)
#{r\ 3982}#))
(if (eq? #{p\ 3981}# (quote each-any))
(cons (quote ()) #{r\ 3982}#)
(begin
(let ((#{atom-key\ 3998}#
(vector-ref #{p\ 3981}# 0)))
(if (eqv? #{atom-key\ 3998}# (quote each))
(#{match-empty\ 3901}#
(vector-ref #{p\ 3981}# 1)
#{r\ 3982}#)
(if (eqv? #{atom-key\ 3998}# (quote each+))
(#{match-empty\ 3901}#
(vector-ref #{p\ 3981}# 1)
(#{match-empty\ 3901}#
(reverse (vector-ref #{p\ 3981}# 2))
(#{match-empty\ 3901}#
(vector-ref #{p\ 3981}# 3)
#{r\ 3982}#)))
(if (if (eqv? #{atom-key\ 3998}#
'free-id)
#t
(eqv? #{atom-key\ 3998}#
'atom))
#{r\ 3982}#
(if (eqv? #{atom-key\ 3998}#
'vector)
(#{match-empty\ 3901}#
(vector-ref #{p\ 3981}# 1)
#{r\ 3982}#))))))))))))))
(#{combine\ 3903}#
(lambda (#{r*\ 4003}# #{r\ 4004}#)
(if (null? (car #{r*\ 4003}#))
#{r\ 4004}#
(cons (map car #{r*\ 4003}#)
(#{combine\ 3903}#
(map cdr #{r*\ 4003}#)
#{r\ 4004}#)))))
(#{match*\ 3905}#
(lambda (#{e\ 4007}#
#{p\ 4008}#
#{w\ 4009}#
#{r\ 4010}#
#{mod\ 4011}#)
(if (null? #{p\ 4008}#)
(if (null? #{e\ 4007}#) #{r\ 4010}# #f)
(if (pair? #{p\ 4008}#)
(if (pair? #{e\ 4007}#)
(#{match\ 3907}#
(car #{e\ 4007}#)
(car #{p\ 4008}#)
#{w\ 4009}#
(#{match\ 3907}#
(cdr #{e\ 4007}#)
(cdr #{p\ 4008}#)
#{w\ 4009}#
#{r\ 4010}#
#{mod\ 4011}#)
#{mod\ 4011}#)
#f)
(if (eq? #{p\ 4008}# (quote each-any))
(begin
(let ((#{l\ 4028}#
(#{match-each-any\ 3899}#
#{e\ 4007}#
#{w\ 4009}#
#{mod\ 4011}#)))
(if #{l\ 4028}#
(cons #{l\ 4028}# #{r\ 4010}#)
#f)))
(begin
(let ((#{atom-key\ 4034}#
(vector-ref #{p\ 4008}# 0)))
(if (eqv? #{atom-key\ 4034}# (quote each))
(if (null? #{e\ 4007}#)
(#{match-empty\ 3901}#
(vector-ref #{p\ 4008}# 1)
#{r\ 4010}#)
(begin
(let ((#{l\ 4037}#
(#{match-each\ 3895}#
#{e\ 4007}#
(vector-ref #{p\ 4008}# 1)
#{w\ 4009}#
#{mod\ 4011}#)))
(if #{l\ 4037}#
(letrec*
((#{collect\ 4042}#
(lambda (#{l\ 4043}#)
(if (null? (car #{l\ 4043}#))
#{r\ 4010}#
(cons (map car #{l\ 4043}#)
(#{collect\ 4042}#
(map cdr
#{l\ 4043}#)))))))
(begin
(#{collect\ 4042}# #{l\ 4037}#)))
#f))))
(if (eqv? #{atom-key\ 4034}# (quote each+))
(call-with-values
(lambda ()
(#{match-each+\ 3897}#
#{e\ 4007}#
(vector-ref #{p\ 4008}# 1)
(vector-ref #{p\ 4008}# 2)
(vector-ref #{p\ 4008}# 3)
#{w\ 4009}#
#{r\ 4010}#
#{mod\ 4011}#))
(lambda (#{xr*\ 4045}#
#{y-pat\ 4046}#
#{r\ 4047}#)
(if #{r\ 4047}#
(if (null? #{y-pat\ 4046}#)
(if (null? #{xr*\ 4045}#)
(#{match-empty\ 3901}#
(vector-ref #{p\ 4008}# 1)
#{r\ 4047}#)
(#{combine\ 3903}#
#{xr*\ 4045}#
#{r\ 4047}#))
#f)
#f)))
(if (eqv? #{atom-key\ 4034}# (quote free-id))
(if (#{id?\ 379}# #{e\ 4007}#)
(if (#{free-id=?\ 438}#
(#{wrap\ 448}#
#{e\ 4007}#
#{w\ 4009}#
#{mod\ 4011}#)
(vector-ref #{p\ 4008}# 1))
#{r\ 4010}#
#f)
#f)
(if (eqv? #{atom-key\ 4034}# (quote atom))
(if (equal?
(vector-ref #{p\ 4008}# 1)
(#{strip\ 490}#
#{e\ 4007}#
#{w\ 4009}#))
#{r\ 4010}#
#f)
(if (eqv? #{atom-key\ 4034}#
'vector)
(if (vector? #{e\ 4007}#)
(#{match\ 3907}#
(vector->list #{e\ 4007}#)
(vector-ref #{p\ 4008}# 1)
#{w\ 4009}#
#{r\ 4010}#
#{mod\ 4011}#)
#f)))))))))))))
(#{match\ 3907}#
(lambda (#{e\ 4064}#
#{p\ 4065}#
#{w\ 4066}#
#{r\ 4067}#
#{mod\ 4068}#)
(if (not #{r\ 4067}#)
#f
(if (eq? #{p\ 4065}# (quote _))
#{r\ 4067}#
(if (eq? #{p\ 4065}# (quote any))
(cons (#{wrap\ 448}#
#{e\ 4064}#
#{w\ 4066}#
#{mod\ 4068}#)
#{r\ 4067}#)
(if (#{syntax-object?\ 343}# #{e\ 4064}#)
(#{match*\ 3905}#
(#{syntax-object-expression\ 345}# #{e\ 4064}#)
#{p\ 4065}#
(#{join-wraps\ 430}#
#{w\ 4066}#
(#{syntax-object-wrap\ 347}# #{e\ 4064}#))
#{r\ 4067}#
(#{syntax-object-module\ 349}# #{e\ 4064}#))
(#{match*\ 3905}#
#{e\ 4064}#
#{p\ 4065}#
#{w\ 4066}#
#{r\ 4067}#
#{mod\ 4068}#))))))))
(begin
(set! $sc-dispatch
(lambda (#{e\ 4083}# #{p\ 4084}#)
(if (eq? #{p\ 4084}# (quote any))
(list #{e\ 4083}#)
(if (eq? #{p\ 4084}# (quote _))
'()
(if (#{syntax-object?\ 343}# #{e\ 4083}#)
(#{match*\ 3905}#
(#{syntax-object-expression\ 345}# #{e\ 4083}#)
#{p\ 4084}#
(#{syntax-object-wrap\ 347}# #{e\ 4083}#)
'()
(#{syntax-object-module\ 349}# #{e\ 4083}#))
(#{match*\ 3905}#
#{e\ 4083}#
#{p\ 4084}#
'(())
'()
#f))))))))))))))
(define with-syntax
(make-syntax-transformer
'with-syntax
'macro
(lambda (#{x\ 4095}#)
(let ((#{tmp\ 4097}# #{x\ 4095}#))
(let ((#{tmp\ 4098}#
($sc-dispatch
#{tmp\ 4097}#
'(_ () any . each-any))))
(if #{tmp\ 4098}#
(@apply
(lambda (#{e1\ 4101}# #{e2\ 4102}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("i4099" "i4100"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4096")))
(hygiene guile))
(cons #{e1\ 4101}# #{e2\ 4102}#)))
#{tmp\ 4098}#)
(let ((#{tmp\ 4104}#
($sc-dispatch
#{tmp\ 4097}#
'(_ ((any any)) any . each-any))))
(if #{tmp\ 4104}#
(@apply
(lambda (#{out\ 4109}#
#{in\ 4110}#
#{e1\ 4111}#
#{e2\ 4112}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("i4105" "i4106" "i4107" "i4108"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4096")))
(hygiene guile))
#{in\ 4110}#
'()
(list #{out\ 4109}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("i4105" "i4106" "i4107" "i4108"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4096")))
(hygiene guile))
(cons #{e1\ 4111}# #{e2\ 4112}#)))))
#{tmp\ 4104}#)
(let ((#{tmp\ 4114}#
($sc-dispatch
#{tmp\ 4097}#
'(_ #(each (any any)) any . each-any))))
(if #{tmp\ 4114}#
(@apply
(lambda (#{out\ 4119}#
#{in\ 4120}#
#{e1\ 4121}#
#{e2\ 4122}#)
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("i4115" "i4116" "i4117" "i4118"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4096")))
(hygiene guile))
(cons '#(syntax-object
list
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("i4115" "i4116" "i4117" "i4118"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4096")))
(hygiene guile))
#{in\ 4120}#)
'()
(list #{out\ 4119}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(out in e1 e2)
#((top) (top) (top) (top))
#("i4115"
"i4116"
"i4117"
"i4118"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4096")))
(hygiene guile))
(cons #{e1\ 4121}# #{e2\ 4122}#)))))
#{tmp\ 4114}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4097}#)))))))))))
(define syntax-rules
(make-syntax-transformer
'syntax-rules
'macro
(lambda (#{x\ 4126}#)
(let ((#{tmp\ 4128}# #{x\ 4126}#))
(let ((#{tmp\ 4129}#
($sc-dispatch
#{tmp\ 4128}#
'(_ each-any . #(each ((any . any) any))))))
(if #{tmp\ 4129}#
(@apply
(lambda (#{k\ 4134}#
#{keyword\ 4135}#
#{pattern\ 4136}#
#{template\ 4137}#)
(list '#(syntax-object
lambda
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("i4130" "i4131" "i4132" "i4133"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4127")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("i4130" "i4131" "i4132" "i4133"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4127")))
(hygiene guile)))
(vector
'(#(syntax-object
macro-type
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("i4130" "i4131" "i4132" "i4133"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4127")))
(hygiene guile))
.
#(syntax-object
syntax-rules
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("i4130" "i4131" "i4132" "i4133"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4127")))
(hygiene guile)))
(cons '#(syntax-object
patterns
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("i4130" "i4131" "i4132" "i4133"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4127")))
(hygiene guile))
#{pattern\ 4136}#))
(cons '#(syntax-object
syntax-case
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("i4130" "i4131" "i4132" "i4133"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4127")))
(hygiene guile))
(cons '#(syntax-object
x
((top)
#(ribcage
#(k keyword pattern template)
#((top) (top) (top) (top))
#("i4130" "i4131" "i4132" "i4133"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4127")))
(hygiene guile))
(cons #{k\ 4134}#
(map (lambda (#{tmp\ 4141}#
#{tmp\ 4140}#)
(list (cons '#(syntax-object
dummy
((top)
#(ribcage
#(k
keyword
pattern
template)
#((top)
(top)
(top)
(top))
#("i4130"
"i4131"
"i4132"
"i4133"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4127")))
(hygiene guile))
#{tmp\ 4140}#)
(list '#(syntax-object
syntax
((top)
#(ribcage
#(k
keyword
pattern
template)
#((top)
(top)
(top)
(top))
#("i4130"
"i4131"
"i4132"
"i4133"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4127")))
(hygiene guile))
#{tmp\ 4141}#)))
#{template\ 4137}#
#{pattern\ 4136}#))))))
#{tmp\ 4129}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4128}#)))))))
(define let*
(make-syntax-transformer
'let*
'macro
(lambda (#{x\ 4142}#)
(let ((#{tmp\ 4144}# #{x\ 4142}#))
(let ((#{tmp\ 4145}#
($sc-dispatch
#{tmp\ 4144}#
'(any #(each (any any)) any . each-any))))
(if (if #{tmp\ 4145}#
(@apply
(lambda (#{let*\ 4151}#
#{x\ 4152}#
#{v\ 4153}#
#{e1\ 4154}#
#{e2\ 4155}#)
(and-map identifier? #{x\ 4152}#))
#{tmp\ 4145}#)
#f)
(@apply
(lambda (#{let*\ 4162}#
#{x\ 4163}#
#{v\ 4164}#
#{e1\ 4165}#
#{e2\ 4166}#)
(letrec*
((#{f\ 4169}#
(lambda (#{bindings\ 4170}#)
(if (null? #{bindings\ 4170}#)
(cons '#(syntax-object
let
((top)
#(ribcage () () ())
#(ribcage
#(f bindings)
#((top) (top))
#("i4167" "i4168"))
#(ribcage
#(let* x v e1 e2)
#((top) (top) (top) (top) (top))
#("i4157"
"i4158"
"i4159"
"i4160"
"i4161"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4143")))
(hygiene guile))
(cons '()
(cons #{e1\ 4165}# #{e2\ 4166}#)))
(let ((#{tmp\ 4175}#
(list (#{f\ 4169}# (cdr #{bindings\ 4170}#))
(car #{bindings\ 4170}#))))
(let ((#{tmp\ 4176}#
($sc-dispatch
#{tmp\ 4175}#
'(any any))))
(if #{tmp\ 4176}#
(@apply
(lambda (#{body\ 4179}# #{binding\ 4180}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(body binding)
#((top) (top))
#("i4177" "i4178"))
#(ribcage () () ())
#(ribcage
#(f bindings)
#((top) (top))
#("i4167" "i4168"))
#(ribcage
#(let* x v e1 e2)
#((top) (top) (top) (top) (top))
#("i4157"
"i4158"
"i4159"
"i4160"
"i4161"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4143")))
(hygiene guile))
(list #{binding\ 4180}#)
#{body\ 4179}#))
#{tmp\ 4176}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4175}#))))))))
(begin
(#{f\ 4169}# (map list #{x\ 4163}# #{v\ 4164}#)))))
#{tmp\ 4145}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4144}#)))))))
(define do
(make-syntax-transformer
'do
'macro
(lambda (#{orig-x\ 4181}#)
(let ((#{tmp\ 4183}# #{orig-x\ 4181}#))
(let ((#{tmp\ 4184}#
($sc-dispatch
#{tmp\ 4183}#
'(_ #(each (any any . any))
(any . each-any)
.
each-any))))
(if #{tmp\ 4184}#
(@apply
(lambda (#{var\ 4191}#
#{init\ 4192}#
#{step\ 4193}#
#{e0\ 4194}#
#{e1\ 4195}#
#{c\ 4196}#)
(let ((#{tmp\ 4198}#
(map (lambda (#{v\ 4219}# #{s\ 4220}#)
(let ((#{tmp\ 4223}# #{s\ 4220}#))
(let ((#{tmp\ 4224}#
($sc-dispatch
#{tmp\ 4223}#
'())))
(if #{tmp\ 4224}#
(@apply
(lambda () #{v\ 4219}#)
#{tmp\ 4224}#)
(let ((#{tmp\ 4225}#
($sc-dispatch
#{tmp\ 4223}#
'(any))))
(if #{tmp\ 4225}#
(@apply
(lambda (#{e\ 4227}#) #{e\ 4227}#)
#{tmp\ 4225}#)
(let ((#{_\ 4229}# #{tmp\ 4223}#))
(syntax-violation
'do
"bad step expression"
#{orig-x\ 4181}#
#{s\ 4220}#))))))))
#{var\ 4191}#
#{step\ 4193}#)))
(let ((#{tmp\ 4199}#
($sc-dispatch #{tmp\ 4198}# (quote each-any))))
(if #{tmp\ 4199}#
(@apply
(lambda (#{step\ 4201}#)
(let ((#{tmp\ 4202}# #{e1\ 4195}#))
(let ((#{tmp\ 4203}#
($sc-dispatch #{tmp\ 4202}# (quote ()))))
(if #{tmp\ 4203}#
(@apply
(lambda ()
(list '#(syntax-object
let
((top)
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
(map list
#{var\ 4191}#
#{init\ 4192}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
(list '#(syntax-object
not
((top)
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
#{e0\ 4194}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
(append
#{c\ 4196}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene
guile))
#{step\ 4201}#)))))))
#{tmp\ 4203}#)
(let ((#{tmp\ 4208}#
($sc-dispatch
#{tmp\ 4202}#
'(any . each-any))))
(if #{tmp\ 4208}#
(@apply
(lambda (#{e1\ 4211}# #{e2\ 4212}#)
(list '#(syntax-object
let
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("i4209" "i4210"))
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
'#(syntax-object
doloop
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("i4209" "i4210"))
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var init step e0 e1 c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
(map list
#{var\ 4191}#
#{init\ 4192}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("i4209" "i4210"))
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage () () ())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
#{e0\ 4194}#
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("i4209"
"i4210"))
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
(cons #{e1\ 4211}#
#{e2\ 4212}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("i4209"
"i4210"))
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene guile))
(append
#{c\ 4196}#
(list (cons '#(syntax-object
doloop
((top)
#(ribcage
#(e1
e2)
#((top)
(top))
#("i4209"
"i4210"))
#(ribcage
#(step)
#((top))
#("i4200"))
#(ribcage
#(var
init
step
e0
e1
c)
#((top)
(top)
(top)
(top)
(top)
(top))
#("i4185"
"i4186"
"i4187"
"i4188"
"i4189"
"i4190"))
#(ribcage
()
()
())
#(ribcage
#(orig-x)
#((top))
#("i4182")))
(hygiene
guile))
#{step\ 4201}#)))))))
#{tmp\ 4208}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4202}#)))))))
#{tmp\ 4199}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4198}#)))))
#{tmp\ 4184}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4183}#)))))))
(define quasiquote
(make-syntax-transformer
'quasiquote
'macro
(letrec*
((#{quasicons\ 4236}#
(lambda (#{x\ 4240}# #{y\ 4241}#)
(let ((#{tmp\ 4245}# (list #{x\ 4240}# #{y\ 4241}#)))
(let ((#{tmp\ 4246}#
($sc-dispatch #{tmp\ 4245}# (quote (any any)))))
(if #{tmp\ 4246}#
(@apply
(lambda (#{x\ 4249}# #{y\ 4250}#)
(let ((#{tmp\ 4251}# #{y\ 4250}#))
(let ((#{tmp\ 4252}#
($sc-dispatch
#{tmp\ 4251}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(x y)
#((top) (top))
#("i4247" "i4248"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4242" "i4243"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
any))))
(if #{tmp\ 4252}#
(@apply
(lambda (#{dy\ 4254}#)
(let ((#{tmp\ 4255}# #{x\ 4249}#))
(let ((#{tmp\ 4256}#
($sc-dispatch
#{tmp\ 4255}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(dy)
#((top))
#("i4253"))
#(ribcage
#(x y)
#((top) (top))
#("i4247" "i4248"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4242" "i4243"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile)))
any))))
(if #{tmp\ 4256}#
(@apply
(lambda (#{dx\ 4258}#)
(list '#(syntax-object
quote
((top)
#(ribcage
#(dx)
#((top))
#("i4257"))
#(ribcage
#(dy)
#((top))
#("i4253"))
#(ribcage
#(x y)
#((top) (top))
#("i4247" "i4248"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4242" "i4243"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile))
(cons #{dx\ 4258}#
#{dy\ 4254}#)))
#{tmp\ 4256}#)
(let ((#{_\ 4260}# #{tmp\ 4255}#))
(if (null? #{dy\ 4254}#)
(list '#(syntax-object
list
((top)
#(ribcage
#(_)
#((top))
#("i4259"))
#(ribcage
#(dy)
#((top))
#("i4253"))
#(ribcage
#(x y)
#((top) (top))
#("i4247" "i4248"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4242" "i4243"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile))
#{x\ 4249}#)
(list '#(syntax-object
cons
((top)
#(ribcage
#(_)
#((top))
#("i4259"))
#(ribcage
#(dy)
#((top))
#("i4253"))
#(ribcage
#(x y)
#((top) (top))
#("i4247" "i4248"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4242" "i4243"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile))
#{x\ 4249}#
#{y\ 4250}#)))))))
#{tmp\ 4252}#)
(let ((#{tmp\ 4261}#
($sc-dispatch
#{tmp\ 4251}#
'(#(free-id
#(syntax-object
list
((top)
#(ribcage
#(x y)
#((top) (top))
#("i4247" "i4248"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4242" "i4243"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile)))
.
any))))
(if #{tmp\ 4261}#
(@apply
(lambda (#{stuff\ 4263}#)
(cons '#(syntax-object
list
((top)
#(ribcage
#(stuff)
#((top))
#("i4262"))
#(ribcage
#(x y)
#((top) (top))
#("i4247" "i4248"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4242" "i4243"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile))
(cons #{x\ 4249}# #{stuff\ 4263}#)))
#{tmp\ 4261}#)
(let ((#{else\ 4265}# #{tmp\ 4251}#))
(list '#(syntax-object
cons
((top)
#(ribcage
#(else)
#((top))
#("i4264"))
#(ribcage
#(x y)
#((top) (top))
#("i4247" "i4248"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4242" "i4243"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile))
#{x\ 4249}#
#{y\ 4250}#))))))))
#{tmp\ 4246}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4245}#))))))
(#{quasiappend\ 4237}#
(lambda (#{x\ 4266}# #{y\ 4267}#)
(let ((#{tmp\ 4271}# (list #{x\ 4266}# #{y\ 4267}#)))
(let ((#{tmp\ 4272}#
($sc-dispatch #{tmp\ 4271}# (quote (any any)))))
(if #{tmp\ 4272}#
(@apply
(lambda (#{x\ 4275}# #{y\ 4276}#)
(let ((#{tmp\ 4277}# #{y\ 4276}#))
(let ((#{tmp\ 4278}#
($sc-dispatch
#{tmp\ 4277}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage
#(x y)
#((top) (top))
#("i4273" "i4274"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4268" "i4269"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
()))))
(if #{tmp\ 4278}#
(@apply (lambda () #{x\ 4275}#) #{tmp\ 4278}#)
(let ((#{_\ 4280}# #{tmp\ 4277}#))
(list '#(syntax-object
append
((top)
#(ribcage #(_) #((top)) #("i4279"))
#(ribcage
#(x y)
#((top) (top))
#("i4273" "i4274"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(x y)
#((top) (top))
#("i4268" "i4269"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile))
#{x\ 4275}#
#{y\ 4276}#))))))
#{tmp\ 4272}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4271}#))))))
(#{quasivector\ 4238}#
(lambda (#{x\ 4281}#)
(let ((#{tmp\ 4284}# #{x\ 4281}#))
(let ((#{x\ 4286}# #{tmp\ 4284}#))
(let ((#{tmp\ 4287}# #{x\ 4286}#))
(let ((#{tmp\ 4288}#
($sc-dispatch
#{tmp\ 4287}#
'(#(free-id
#(syntax-object
quote
((top)
#(ribcage #(x) #((top)) #("i4285"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4282"))
#(ribcage
#(quasicons quasiappend quasivector quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
each-any))))
(if #{tmp\ 4288}#
(@apply
(lambda (#{x\ 4290}#)
(list '#(syntax-object
quote
((top)
#(ribcage #(x) #((top)) #("i4289"))
#(ribcage #(x) #((top)) #("i4285"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4282"))
#(ribcage
#(quasicons quasiappend quasivector quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile))
(list->vector #{x\ 4290}#)))
#{tmp\ 4288}#)
(let ((#{tmp\ 4292}#
($sc-dispatch
#{tmp\ 4287}#
'(#(free-id
#(syntax-object
list
((top)
#(ribcage #(x) #((top)) #("i4285"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4282"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
.
each-any))))
(if #{tmp\ 4292}#
(@apply
(lambda (#{x\ 4294}#)
(cons '#(syntax-object
vector
((top)
#(ribcage #(x) #((top)) #("i4293"))
#(ribcage #(x) #((top)) #("i4285"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4282"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile))
#{x\ 4294}#))
#{tmp\ 4292}#)
(let ((#{_\ 4297}# #{tmp\ 4287}#))
(list '#(syntax-object
list->vector
((top)
#(ribcage #(_) #((top)) #("i4296"))
#(ribcage #(x) #((top)) #("i4285"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4282"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile))
#{x\ 4286}#)))))))))))
(#{quasi\ 4239}#
(lambda (#{p\ 4298}# #{lev\ 4299}#)
(let ((#{tmp\ 4302}# #{p\ 4298}#))
(let ((#{tmp\ 4303}#
($sc-dispatch
#{tmp\ 4302}#
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons quasiappend quasivector quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
any))))
(if #{tmp\ 4303}#
(@apply
(lambda (#{p\ 4305}#)
(if (= #{lev\ 4299}# 0)
#{p\ 4305}#
(#{quasicons\ 4236}#
'(#(syntax-object
quote
((top)
#(ribcage #(p) #((top)) #("i4304"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons quasiappend quasivector quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile))
#(syntax-object
unquote
((top)
#(ribcage #(p) #((top)) #("i4304"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons quasiappend quasivector quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
(#{quasi\ 4239}#
(list #{p\ 4305}#)
(1- #{lev\ 4299}#)))))
#{tmp\ 4303}#)
(let ((#{tmp\ 4306}#
($sc-dispatch
#{tmp\ 4302}#
'(#(free-id
#(syntax-object
unquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons quasiappend quasivector quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
.
any))))
(if (if #{tmp\ 4306}#
(@apply
(lambda (#{args\ 4308}#) (= #{lev\ 4299}# 0))
#{tmp\ 4306}#)
#f)
(@apply
(lambda (#{args\ 4310}#)
(syntax-violation
'unquote
"unquote takes exactly one argument"
#{p\ 4298}#
(cons '#(syntax-object
unquote
((top)
#(ribcage #(args) #((top)) #("i4309"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile))
#{args\ 4310}#)))
#{tmp\ 4306}#)
(let ((#{tmp\ 4311}#
($sc-dispatch
#{tmp\ 4302}#
'((#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
any)
.
any))))
(if #{tmp\ 4311}#
(@apply
(lambda (#{p\ 4314}# #{q\ 4315}#)
(if (= #{lev\ 4299}# 0)
(#{quasiappend\ 4237}#
#{p\ 4314}#
(#{quasi\ 4239}# #{q\ 4315}# #{lev\ 4299}#))
(#{quasicons\ 4236}#
(#{quasicons\ 4236}#
'(#(syntax-object
quote
((top)
#(ribcage
#(p q)
#((top) (top))
#("i4312" "i4313"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile))
#(syntax-object
unquote-splicing
((top)
#(ribcage
#(p q)
#((top) (top))
#("i4312" "i4313"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232" "i4233" "i4234" "i4235")))
(hygiene guile)))
(#{quasi\ 4239}#
(list #{p\ 4314}#)
(1- #{lev\ 4299}#)))
(#{quasi\ 4239}# #{q\ 4315}# #{lev\ 4299}#))))
#{tmp\ 4311}#)
(let ((#{tmp\ 4316}#
($sc-dispatch
#{tmp\ 4302}#
'((#(free-id
#(syntax-object
unquote-splicing
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile)))
.
any)
.
any))))
(if (if #{tmp\ 4316}#
(@apply
(lambda (#{args\ 4319}# #{q\ 4320}#)
(= #{lev\ 4299}# 0))
#{tmp\ 4316}#)
#f)
(@apply
(lambda (#{args\ 4323}# #{q\ 4324}#)
(syntax-violation
'unquote-splicing
"unquote-splicing takes exactly one argument"
#{p\ 4298}#
(cons '#(syntax-object
unquote-splicing
((top)
#(ribcage
#(args q)
#((top) (top))
#("i4321" "i4322"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile))
#{args\ 4323}#)))
#{tmp\ 4316}#)
(let ((#{tmp\ 4325}#
($sc-dispatch
#{tmp\ 4302}#
'(#(free-id
#(syntax-object
quasiquote
((top)
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile)))
any))))
(if #{tmp\ 4325}#
(@apply
(lambda (#{p\ 4327}#)
(#{quasicons\ 4236}#
'(#(syntax-object
quote
((top)
#(ribcage #(p) #((top)) #("i4326"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile))
#(syntax-object
quasiquote
((top)
#(ribcage #(p) #((top)) #("i4326"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top) (top) (top) (top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile)))
(#{quasi\ 4239}#
(list #{p\ 4327}#)
(1+ #{lev\ 4299}#))))
#{tmp\ 4325}#)
(let ((#{tmp\ 4328}#
($sc-dispatch
#{tmp\ 4302}#
'(any . any))))
(if #{tmp\ 4328}#
(@apply
(lambda (#{p\ 4331}# #{q\ 4332}#)
(#{quasicons\ 4236}#
(#{quasi\ 4239}#
#{p\ 4331}#
#{lev\ 4299}#)
(#{quasi\ 4239}#
#{q\ 4332}#
#{lev\ 4299}#)))
#{tmp\ 4328}#)
(let ((#{tmp\ 4333}#
($sc-dispatch
#{tmp\ 4302}#
'#(vector each-any))))
(if #{tmp\ 4333}#
(@apply
(lambda (#{x\ 4335}#)
(#{quasivector\ 4238}#
(#{quasi\ 4239}#
#{x\ 4335}#
#{lev\ 4299}#)))
#{tmp\ 4333}#)
(let ((#{p\ 4338}# #{tmp\ 4302}#))
(list '#(syntax-object
quote
((top)
#(ribcage
#(p)
#((top))
#("i4337"))
#(ribcage () () ())
#(ribcage
#(p lev)
#((top) (top))
#("i4300" "i4301"))
#(ribcage
#(quasicons
quasiappend
quasivector
quasi)
#((top)
(top)
(top)
(top))
#("i4232"
"i4233"
"i4234"
"i4235")))
(hygiene guile))
#{p\ 4338}#))))))))))))))))))))
(begin
(lambda (#{x\ 4339}#)
(let ((#{tmp\ 4341}# #{x\ 4339}#))
(let ((#{tmp\ 4342}#
($sc-dispatch #{tmp\ 4341}# (quote (_ any)))))
(if #{tmp\ 4342}#
(@apply
(lambda (#{e\ 4344}#)
(#{quasi\ 4239}# #{e\ 4344}# 0))
#{tmp\ 4342}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4341}#)))))))))
(define include
(make-syntax-transformer
'include
'macro
(lambda (#{x\ 4345}#)
(letrec*
((#{read-file\ 4348}#
(lambda (#{fn\ 4349}# #{k\ 4350}#)
(begin
(let ((#{p\ 4354}# (open-input-file #{fn\ 4349}#)))
(letrec*
((#{f\ 4358}#
(lambda (#{x\ 4359}# #{result\ 4360}#)
(if (eof-object? #{x\ 4359}#)
(begin
(close-input-port #{p\ 4354}#)
(reverse #{result\ 4360}#))
(#{f\ 4358}#
(read #{p\ 4354}#)
(cons (datum->syntax #{k\ 4350}# #{x\ 4359}#)
#{result\ 4360}#))))))
(begin
(#{f\ 4358}# (read #{p\ 4354}#) (quote ())))))))))
(begin
(let ((#{tmp\ 4361}# #{x\ 4345}#))
(let ((#{tmp\ 4362}#
($sc-dispatch #{tmp\ 4361}# (quote (any any)))))
(if #{tmp\ 4362}#
(@apply
(lambda (#{k\ 4365}# #{filename\ 4366}#)
(begin
(let ((#{fn\ 4368}# (syntax->datum #{filename\ 4366}#)))
(let ((#{tmp\ 4370}#
(#{read-file\ 4348}#
#{fn\ 4368}#
#{filename\ 4366}#)))
(let ((#{tmp\ 4371}#
($sc-dispatch
#{tmp\ 4370}#
'each-any)))
(if #{tmp\ 4371}#
(@apply
(lambda (#{exp\ 4373}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(exp)
#((top))
#("i4372"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage
#(fn)
#((top))
#("i4367"))
#(ribcage
#(k filename)
#((top) (top))
#("i4363" "i4364"))
#(ribcage
(read-file)
((top))
("i4347"))
#(ribcage
#(x)
#((top))
#("i4346")))
(hygiene guile))
#{exp\ 4373}#))
#{tmp\ 4371}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4370}#)))))))
#{tmp\ 4362}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4361}#)))))))))
(define include-from-path
(make-syntax-transformer
'include-from-path
'macro
(lambda (#{x\ 4375}#)
(let ((#{tmp\ 4377}# #{x\ 4375}#))
(let ((#{tmp\ 4378}#
($sc-dispatch #{tmp\ 4377}# (quote (any any)))))
(if #{tmp\ 4378}#
(@apply
(lambda (#{k\ 4381}# #{filename\ 4382}#)
(begin
(let ((#{fn\ 4384}# (syntax->datum #{filename\ 4382}#)))
(let ((#{tmp\ 4386}#
(datum->syntax
#{filename\ 4382}#
(begin
(let ((#{t\ 4391}#
(%search-load-path #{fn\ 4384}#)))
(if #{t\ 4391}#
#{t\ 4391}#
(syntax-violation
'include-from-path
"file not found in path"
#{x\ 4375}#
#{filename\ 4382}#)))))))
(let ((#{fn\ 4388}# #{tmp\ 4386}#))
(list '#(syntax-object
include
((top)
#(ribcage #(fn) #((top)) #("i4387"))
#(ribcage () () ())
#(ribcage () () ())
#(ribcage #(fn) #((top)) #("i4383"))
#(ribcage
#(k filename)
#((top) (top))
#("i4379" "i4380"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4376")))
(hygiene guile))
#{fn\ 4388}#))))))
#{tmp\ 4378}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4377}#)))))))
(define unquote
(make-syntax-transformer
'unquote
'macro
(lambda (#{x\ 4393}#)
(let ((#{tmp\ 4395}# #{x\ 4393}#))
(let ((#{tmp\ 4396}#
($sc-dispatch #{tmp\ 4395}# (quote (_ any)))))
(if #{tmp\ 4396}#
(@apply
(lambda (#{e\ 4398}#)
(syntax-violation
'unquote
"expression not valid outside of quasiquote"
#{x\ 4393}#))
#{tmp\ 4396}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4395}#)))))))
(define unquote-splicing
(make-syntax-transformer
'unquote-splicing
'macro
(lambda (#{x\ 4399}#)
(let ((#{tmp\ 4401}# #{x\ 4399}#))
(let ((#{tmp\ 4402}#
($sc-dispatch #{tmp\ 4401}# (quote (_ any)))))
(if #{tmp\ 4402}#
(@apply
(lambda (#{e\ 4404}#)
(syntax-violation
'unquote-splicing
"expression not valid outside of quasiquote"
#{x\ 4399}#))
#{tmp\ 4402}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4401}#)))))))
(define case
(make-syntax-transformer
'case
'macro
(lambda (#{x\ 4405}#)
(let ((#{tmp\ 4407}# #{x\ 4405}#))
(let ((#{tmp\ 4408}#
($sc-dispatch
#{tmp\ 4407}#
'(_ any any . each-any))))
(if #{tmp\ 4408}#
(@apply
(lambda (#{e\ 4412}# #{m1\ 4413}# #{m2\ 4414}#)
(let ((#{tmp\ 4416}#
(letrec*
((#{f\ 4422}#
(lambda (#{clause\ 4423}# #{clauses\ 4424}#)
(if (null? #{clauses\ 4424}#)
(let ((#{tmp\ 4426}# #{clause\ 4423}#))
(let ((#{tmp\ 4427}#
($sc-dispatch
#{tmp\ 4426}#
'(#(free-id
#(syntax-object
else
((top)
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("i4409"
"i4410"
"i4411"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile)))
any
.
each-any))))
(if #{tmp\ 4427}#
(@apply
(lambda (#{e1\ 4430}# #{e2\ 4431}#)
(cons '#(syntax-object
begin
((top)
#(ribcage
#(e1 e2)
#((top) (top))
#("i4428" "i4429"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("i4409"
"i4410"
"i4411"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
(cons #{e1\ 4430}#
#{e2\ 4431}#)))
#{tmp\ 4427}#)
(let ((#{tmp\ 4433}#
($sc-dispatch
#{tmp\ 4426}#
'(each-any any . each-any))))
(if #{tmp\ 4433}#
(@apply
(lambda (#{k\ 4437}#
#{e1\ 4438}#
#{e2\ 4439}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
#("i4434"
"i4435"
"i4436"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("i4409"
"i4410"
"i4411"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("i4434"
"i4435"
"i4436"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("i4409"
"i4410"
"i4411"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
'#(syntax-object
t
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("i4434"
"i4435"
"i4436"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("i4409"
"i4410"
"i4411"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i4434"
"i4435"
"i4436"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e
m1
m2)
#((top)
(top)
(top))
#("i4409"
"i4410"
"i4411"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene
guile))
#{k\ 4437}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("i4434"
"i4435"
"i4436"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("i4409"
"i4410"
"i4411"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
(cons #{e1\ 4438}#
#{e2\ 4439}#))))
#{tmp\ 4433}#)
(let ((#{_\ 4443}# #{tmp\ 4426}#))
(syntax-violation
'case
"bad clause"
#{x\ 4405}#
#{clause\ 4423}#)))))))
(let ((#{tmp\ 4445}#
(#{f\ 4422}#
(car #{clauses\ 4424}#)
(cdr #{clauses\ 4424}#))))
(let ((#{rest\ 4447}# #{tmp\ 4445}#))
(let ((#{tmp\ 4448}# #{clause\ 4423}#))
(let ((#{tmp\ 4449}#
($sc-dispatch
#{tmp\ 4448}#
'(each-any any . each-any))))
(if #{tmp\ 4449}#
(@apply
(lambda (#{k\ 4453}#
#{e1\ 4454}#
#{e2\ 4455}#)
(list '#(syntax-object
if
((top)
#(ribcage
#(k e1 e2)
#((top) (top) (top))
#("i4450"
"i4451"
"i4452"))
#(ribcage
#(rest)
#((top))
#("i4446"))
#(ribcage () () ())
#(ribcage
#(f clause clauses)
#((top) (top) (top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("i4409"
"i4410"
"i4411"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
(list '#(syntax-object
memv
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("i4450"
"i4451"
"i4452"))
#(ribcage
#(rest)
#((top))
#("i4446"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("i4409"
"i4410"
"i4411"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
'#(syntax-object
t
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("i4450"
"i4451"
"i4452"))
#(ribcage
#(rest)
#((top))
#("i4446"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("i4409"
"i4410"
"i4411"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
(list '#(syntax-object
quote
((top)
#(ribcage
#(k
e1
e2)
#((top)
(top)
(top))
#("i4450"
"i4451"
"i4452"))
#(ribcage
#(rest)
#((top))
#("i4446"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e
m1
m2)
#((top)
(top)
(top))
#("i4409"
"i4410"
"i4411"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene
guile))
#{k\ 4453}#))
(cons '#(syntax-object
begin
((top)
#(ribcage
#(k e1 e2)
#((top)
(top)
(top))
#("i4450"
"i4451"
"i4452"))
#(ribcage
#(rest)
#((top))
#("i4446"))
#(ribcage
()
()
())
#(ribcage
#(f
clause
clauses)
#((top)
(top)
(top))
#("i4419"
"i4420"
"i4421"))
#(ribcage
#(e m1 m2)
#((top)
(top)
(top))
#("i4409"
"i4410"
"i4411"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4406")))
(hygiene guile))
(cons #{e1\ 4454}#
#{e2\ 4455}#))
#{rest\ 4447}#))
#{tmp\ 4449}#)
(let ((#{_\ 4459}# #{tmp\ 4448}#))
(syntax-violation
'case
"bad clause"
#{x\ 4405}#
#{clause\ 4423}#)))))))))))
(begin (#{f\ 4422}# #{m1\ 4413}# #{m2\ 4414}#)))))
(let ((#{body\ 4418}# #{tmp\ 4416}#))
(list '#(syntax-object
let
((top)
#(ribcage #(body) #((top)) #("i4417"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("i4409" "i4410" "i4411"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4406")))
(hygiene guile))
(list (list '#(syntax-object
t
((top)
#(ribcage
#(body)
#((top))
#("i4417"))
#(ribcage
#(e m1 m2)
#((top) (top) (top))
#("i4409" "i4410" "i4411"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4406")))
(hygiene guile))
#{e\ 4412}#))
#{body\ 4418}#))))
#{tmp\ 4408}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4407}#)))))))
(define make-variable-transformer
(lambda (#{proc\ 4460}#)
(if (procedure? #{proc\ 4460}#)
(begin
(letrec*
((#{trans\ 4463}#
(lambda (#{x\ 4464}#)
(#{proc\ 4460}# #{x\ 4464}#))))
(begin
(set-procedure-property!
#{trans\ 4463}#
'variable-transformer
#t)
#{trans\ 4463}#)))
(error "variable transformer not a procedure"
#{proc\ 4460}#))))
(define identifier-syntax
(make-syntax-transformer
'identifier-syntax
'macro
(lambda (#{x\ 4466}#)
(let ((#{tmp\ 4468}# #{x\ 4466}#))
(let ((#{tmp\ 4469}#
($sc-dispatch #{tmp\ 4468}# (quote (_ any)))))
(if #{tmp\ 4469}#
(@apply
(lambda (#{e\ 4471}#)
(list '#(syntax-object
lambda
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile)))
'#((#(syntax-object
macro-type
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
.
#(syntax-object
identifier-syntax
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))))
(list '#(syntax-object
syntax-case
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
'#(syntax-object
x
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
'()
(list '#(syntax-object
id
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
'(#(syntax-object
identifier?
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
(#(syntax-object
syntax
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
#(syntax-object
id
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
#{e\ 4471}#))
(list '(#(syntax-object
_
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
#(syntax-object
x
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile)))
(list '#(syntax-object
syntax
((top)
#(ribcage #(e) #((top)) #("i4470"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
(cons #{e\ 4471}#
'(#(syntax-object
x
((top)
#(ribcage
#(e)
#((top))
#("i4470"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(e)
#((top))
#("i4470"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile)))))))))
#{tmp\ 4469}#)
(let ((#{tmp\ 4472}#
($sc-dispatch
#{tmp\ 4468}#
'(_ (any any)
((#(free-id
#(syntax-object
set!
((top)
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile)))
any
any)
any)))))
(if (if #{tmp\ 4472}#
(@apply
(lambda (#{id\ 4478}#
#{exp1\ 4479}#
#{var\ 4480}#
#{val\ 4481}#
#{exp2\ 4482}#)
(if (identifier? #{id\ 4478}#)
(identifier? #{var\ 4480}#)
#f))
#{tmp\ 4472}#)
#f)
(@apply
(lambda (#{id\ 4490}#
#{exp1\ 4491}#
#{var\ 4492}#
#{val\ 4493}#
#{exp2\ 4494}#)
(list '#(syntax-object
make-variable-transformer
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("i4485" "i4486" "i4487" "i4488" "i4489"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
(list '#(syntax-object
lambda
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
'(#(syntax-object
x
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile)))
'#((#(syntax-object
macro-type
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
.
#(syntax-object
variable-transformer
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))))
(list '#(syntax-object
syntax-case
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
'#(syntax-object
x
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile))
'(#(syntax-object
set!
((top)
#(ribcage
#(id exp1 var val exp2)
#((top) (top) (top) (top) (top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4467")))
(hygiene guile)))
(list (list '#(syntax-object
set!
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
#{var\ 4492}#
#{val\ 4493}#)
(list '#(syntax-object
syntax
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
#{exp2\ 4494}#))
(list (cons #{id\ 4490}#
'(#(syntax-object
x
((top)
#(ribcage
#(id
exp1
var
val
exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(id
exp1
var
val
exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
(cons #{exp1\ 4491}#
'(#(syntax-object
x
((top)
#(ribcage
#(id
exp1
var
val
exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
#(syntax-object
...
((top)
#(ribcage
#(id
exp1
var
val
exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage
()
()
())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene
guile))))))
(list #{id\ 4490}#
(list '#(syntax-object
identifier?
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(id
exp1
var
val
exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
#{id\ 4490}#))
(list '#(syntax-object
syntax
((top)
#(ribcage
#(id exp1 var val exp2)
#((top)
(top)
(top)
(top)
(top))
#("i4485"
"i4486"
"i4487"
"i4488"
"i4489"))
#(ribcage () () ())
#(ribcage
#(x)
#((top))
#("i4467")))
(hygiene guile))
#{exp1\ 4491}#))))))
#{tmp\ 4472}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4468}#)))))))))
(define define*
(make-syntax-transformer
'define*
'macro
(lambda (#{x\ 4495}#)
(let ((#{tmp\ 4497}# #{x\ 4495}#))
(let ((#{tmp\ 4498}#
($sc-dispatch
#{tmp\ 4497}#
'(_ (any . any) any . each-any))))
(if #{tmp\ 4498}#
(@apply
(lambda (#{id\ 4503}#
#{args\ 4504}#
#{b0\ 4505}#
#{b1\ 4506}#)
(list '#(syntax-object
define
((top)
#(ribcage
#(id args b0 b1)
#((top) (top) (top) (top))
#("i4499" "i4500" "i4501" "i4502"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4496")))
(hygiene guile))
#{id\ 4503}#
(cons '#(syntax-object
lambda*
((top)
#(ribcage
#(id args b0 b1)
#((top) (top) (top) (top))
#("i4499" "i4500" "i4501" "i4502"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4496")))
(hygiene guile))
(cons #{args\ 4504}#
(cons #{b0\ 4505}# #{b1\ 4506}#)))))
#{tmp\ 4498}#)
(let ((#{tmp\ 4508}#
($sc-dispatch #{tmp\ 4497}# (quote (_ any any)))))
(if (if #{tmp\ 4508}#
(@apply
(lambda (#{id\ 4511}# #{val\ 4512}#)
(identifier?
'#(syntax-object
x
((top)
#(ribcage
#(id val)
#((top) (top))
#("i4509" "i4510"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4496")))
(hygiene guile))))
#{tmp\ 4508}#)
#f)
(@apply
(lambda (#{id\ 4515}# #{val\ 4516}#)
(list '#(syntax-object
define
((top)
#(ribcage
#(id val)
#((top) (top))
#("i4513" "i4514"))
#(ribcage () () ())
#(ribcage #(x) #((top)) #("i4496")))
(hygiene guile))
#{id\ 4515}#
#{val\ 4516}#))
#{tmp\ 4508}#)
(syntax-violation
#f
"source expression failed to match any pattern"
#{tmp\ 4497}#)))))))))