1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-01 20:30:28 +02:00
guile/module/ice-9/psyntax-pp.scm
Andy Wingo ab6becd47f fix (set! MACRO exp) hygiene
* module/ice-9/psyntax.scm (lookup): Reflow comment.
  (chi-top, syntax): Add comments about mod for lookup.
  (set!): Lookup the identifier in the module attached to its syntax
  object. In the (set! MACRO foo) case, after expanding the macro, chi
  the resulting expression with the empty wrap, as syntax-type
  does. Seems to fix the case where the expansion references
  lexically-bound variables.

* module/ice-9/psyntax-pp.scm: Regenerated.

* test-suite/tests/syncase.test: Add a bunch of tests.
2010-07-09 17:05:02 +02:00

17720 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}# (cons #{x\ 229}# #{xr\ 230}#))
(if (@apply
#{f\ 199}#
(cons #{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}#)))))))))