diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm index 2b70c0c28..2ecbca53b 100644 --- a/module/ice-9/psyntax-pp.scm +++ b/module/ice-9/psyntax-pp.scm @@ -39,3873 +39,3178 @@ (begin (#{andmap\ 230}# #{first\ 208}# #{rest\ 209}#)))))))))) (begin - (let ((#{ribcage?\ 410}# (if #f #f)) - (#{wrap-subst\ 396}# (if #f #f)) - (#{wrap-marks\ 394}# (if #f #f)) - (#{make-wrap\ 392}# (if #f #f)) - (#{binding-value\ 372}# (if #f #f)) - (#{binding-type\ 370}# (if #f #f)) - (#{set-syntax-object-module!\ 363}# (if #f #f)) - (#{set-syntax-object-wrap!\ 361}# (if #f #f)) + (let ((#{make-primitive-ref\ 249}# (if #f #f)) + (#{fx+\ 288}# (if #f #f)) + (#{fx-\ 290}# (if #f #f)) + (#{fx=\ 292}# (if #f #f)) + (#{fx<\ 294}# (if #f #f)) (#{set-syntax-object-expression!\ 359}# (if #f #f)) - (#{fx<\ 294}# (if #f #f)) - (#{fx=\ 292}# (if #f #f)) - (#{fx-\ 290}# (if #f #f)) - (#{fx+\ 288}# (if #f #f)) - (#{make-primitive-ref\ 249}# (if #f #f))) + (#{set-syntax-object-wrap!\ 361}# (if #f #f)) + (#{set-syntax-object-module!\ 363}# (if #f #f)) + (#{binding-type\ 370}# (if #f #f)) + (#{binding-value\ 372}# (if #f #f)) + (#{make-wrap\ 392}# (if #f #f)) + (#{wrap-marks\ 394}# (if #f #f)) + (#{wrap-subst\ 396}# (if #f #f)) + (#{ribcage?\ 410}# (if #f #f))) (letrec* - ((#{lambda-var-list\ 502}# - (lambda (#{vars\ 717}#) - (letrec* - ((#{lvl\ 723}# - (lambda (#{vars\ 724}# #{ls\ 725}# #{w\ 726}#) - (if (pair? #{vars\ 724}#) - (#{lvl\ 723}# - (cdr #{vars\ 724}#) - (cons (#{wrap\ 456}# (car #{vars\ 724}#) #{w\ 726}# #f) - #{ls\ 725}#) - #{w\ 726}#) - (if (#{id?\ 387}# #{vars\ 724}#) - (cons (#{wrap\ 456}# #{vars\ 724}# #{w\ 726}# #f) - #{ls\ 725}#) - (if (null? #{vars\ 724}#) - #{ls\ 725}# - (if (#{syntax-object?\ 351}# #{vars\ 724}#) - (#{lvl\ 723}# - (#{syntax-object-expression\ 353}# #{vars\ 724}#) - #{ls\ 725}# - (#{join-wraps\ 438}# - #{w\ 726}# - (#{syntax-object-wrap\ 355}# #{vars\ 724}#))) - (cons #{vars\ 724}# #{ls\ 725}#)))))))) - (begin - (#{lvl\ 723}# - #{vars\ 717}# - '() - '(())))))) - (#{gen-var\ 500}# - (lambda (#{id\ 737}#) + ((#{make-void\ 245}# + (lambda (#{src\ 717}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 0) + #{src\ 717}#))) + (#{make-const\ 247}# + (lambda (#{src\ 719}# #{exp\ 720}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 1) + #{src\ 719}# + #{exp\ 720}#))) + (#{make-lexical-ref\ 251}# + (lambda (#{src\ 727}# #{name\ 728}# #{gensym\ 729}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 3) + #{src\ 727}# + #{name\ 728}# + #{gensym\ 729}#))) + (#{make-lexical-set\ 253}# + (lambda (#{src\ 733}# + #{name\ 734}# + #{gensym\ 735}# + #{exp\ 736}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 4) + #{src\ 733}# + #{name\ 734}# + #{gensym\ 735}# + #{exp\ 736}#))) + (#{make-module-ref\ 255}# + (lambda (#{src\ 741}# + #{mod\ 742}# + #{name\ 743}# + #{public?\ 744}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 5) + #{src\ 741}# + #{mod\ 742}# + #{name\ 743}# + #{public?\ 744}#))) + (#{make-module-set\ 257}# + (lambda (#{src\ 749}# + #{mod\ 750}# + #{name\ 751}# + #{public?\ 752}# + #{exp\ 753}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 6) + #{src\ 749}# + #{mod\ 750}# + #{name\ 751}# + #{public?\ 752}# + #{exp\ 753}#))) + (#{make-toplevel-ref\ 259}# + (lambda (#{src\ 759}# #{name\ 760}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 7) + #{src\ 759}# + #{name\ 760}#))) + (#{make-toplevel-set\ 261}# + (lambda (#{src\ 763}# #{name\ 764}# #{exp\ 765}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 8) + #{src\ 763}# + #{name\ 764}# + #{exp\ 765}#))) + (#{make-toplevel-define\ 263}# + (lambda (#{src\ 769}# #{name\ 770}# #{exp\ 771}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 9) + #{src\ 769}# + #{name\ 770}# + #{exp\ 771}#))) + (#{make-conditional\ 265}# + (lambda (#{src\ 775}# + #{test\ 776}# + #{consequent\ 777}# + #{alternate\ 778}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 10) + #{src\ 775}# + #{test\ 776}# + #{consequent\ 777}# + #{alternate\ 778}#))) + (#{make-application\ 267}# + (lambda (#{src\ 783}# #{proc\ 784}# #{args\ 785}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 11) + #{src\ 783}# + #{proc\ 784}# + #{args\ 785}#))) + (#{make-sequence\ 269}# + (lambda (#{src\ 789}# #{exps\ 790}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 12) + #{src\ 789}# + #{exps\ 790}#))) + (#{make-lambda\ 271}# + (lambda (#{src\ 793}# #{meta\ 794}# #{body\ 795}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 13) + #{src\ 793}# + #{meta\ 794}# + #{body\ 795}#))) + (#{make-lambda-case\ 273}# + (lambda (#{src\ 799}# + #{req\ 800}# + #{opt\ 801}# + #{rest\ 802}# + #{kw\ 803}# + #{inits\ 804}# + #{gensyms\ 805}# + #{body\ 806}# + #{alternate\ 807}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 14) + #{src\ 799}# + #{req\ 800}# + #{opt\ 801}# + #{rest\ 802}# + #{kw\ 803}# + #{inits\ 804}# + #{gensyms\ 805}# + #{body\ 806}# + #{alternate\ 807}#))) + (#{make-let\ 275}# + (lambda (#{src\ 817}# + #{names\ 818}# + #{gensyms\ 819}# + #{vals\ 820}# + #{body\ 821}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 15) + #{src\ 817}# + #{names\ 818}# + #{gensyms\ 819}# + #{vals\ 820}# + #{body\ 821}#))) + (#{make-letrec\ 277}# + (lambda (#{src\ 827}# + #{in-order?\ 828}# + #{names\ 829}# + #{gensyms\ 830}# + #{vals\ 831}# + #{body\ 832}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 16) + #{src\ 827}# + #{in-order?\ 828}# + #{names\ 829}# + #{gensyms\ 830}# + #{vals\ 831}# + #{body\ 832}#))) + (#{make-dynlet\ 279}# + (lambda (#{src\ 839}# + #{fluids\ 840}# + #{vals\ 841}# + #{body\ 842}#) + (make-struct/no-tail + (vector-ref %expanded-vtables 17) + #{src\ 839}# + #{fluids\ 840}# + #{vals\ 841}# + #{body\ 842}#))) + (#{lambda?\ 282}# + (lambda (#{x\ 847}#) + (if (struct? #{x\ 847}#) + (eq? (struct-vtable #{x\ 847}#) + (vector-ref %expanded-vtables 13)) + #f))) + (#{lambda-meta\ 284}# + (lambda (#{x\ 851}#) (struct-ref #{x\ 851}# 1))) + (#{set-lambda-meta!\ 286}# + (lambda (#{x\ 853}# #{v\ 854}#) + (struct-set! #{x\ 853}# 1 #{v\ 854}#))) + (#{top-level-eval-hook\ 296}# + (lambda (#{x\ 857}# #{mod\ 858}#) + (primitive-eval #{x\ 857}#))) + (#{local-eval-hook\ 298}# + (lambda (#{x\ 861}# #{mod\ 862}#) + (primitive-eval #{x\ 861}#))) + (#{put-global-definition-hook\ 301}# + (lambda (#{symbol\ 865}# #{type\ 866}# #{val\ 867}#) + (module-define! + (current-module) + #{symbol\ 865}# + (make-syntax-transformer + #{symbol\ 865}# + #{type\ 866}# + #{val\ 867}#)))) + (#{get-global-definition-hook\ 303}# + (lambda (#{symbol\ 871}# #{module\ 872}#) (begin - (let ((#{id\ 740}# - (if (#{syntax-object?\ 351}# #{id\ 737}#) - (#{syntax-object-expression\ 353}# #{id\ 737}#) - #{id\ 737}#))) - (gensym - (string-append (symbol->string #{id\ 740}#) " ")))))) - (#{strip\ 498}# - (lambda (#{x\ 742}# #{w\ 743}#) - (if (memq 'top - (#{wrap-marks\ 394}# #{w\ 743}#)) - #{x\ 742}# - (letrec* - ((#{f\ 749}# (lambda (#{x\ 750}#) - (if (#{syntax-object?\ 351}# #{x\ 750}#) - (#{strip\ 498}# - (#{syntax-object-expression\ 353}# - #{x\ 750}#) - (#{syntax-object-wrap\ 355}# #{x\ 750}#)) - (if (pair? #{x\ 750}#) - (begin - (let ((#{a\ 757}# (#{f\ 749}# (car #{x\ 750}#))) - (#{d\ 758}# (#{f\ 749}# (cdr #{x\ 750}#)))) - (if (if (eq? #{a\ 757}# - (car #{x\ 750}#)) - (eq? #{d\ 758}# (cdr #{x\ 750}#)) - #f) - #{x\ 750}# - (cons #{a\ 757}# #{d\ 758}#)))) - (if (vector? #{x\ 750}#) - (begin - (let ((#{old\ 764}# - (vector->list #{x\ 750}#))) - (begin - (let ((#{new\ 766}# - (map #{f\ 749}# - #{old\ 764}#))) - (if (#{and-map*\ 35}# - eq? - #{old\ 764}# - #{new\ 766}#) - #{x\ 750}# - (list->vector - #{new\ 766}#)))))) - #{x\ 750}#)))))) - (begin (#{f\ 749}# #{x\ 742}#)))))) - (#{chi-lambda-case\ 496}# - (lambda (#{e\ 768}# - #{r\ 769}# - #{w\ 770}# - #{s\ 771}# - #{mod\ 772}# - #{get-formals\ 773}# - #{clauses\ 774}#) - (letrec* - ((#{expand-body\ 789}# - (lambda (#{req\ 790}# - #{opt\ 791}# - #{rest\ 792}# - #{kw\ 793}# - #{body\ 794}# - #{vars\ 795}# - #{r*\ 796}# - #{w*\ 797}# - #{inits\ 798}# - #{meta\ 799}#) - (let ((#{tmp\ 810}# #{body\ 794}#)) - (let ((#{tmp\ 811}# - ($sc-dispatch - #{tmp\ 810}# - '(any any . each-any)))) - (if (if #{tmp\ 811}# - (@apply - (lambda (#{docstring\ 815}# - #{e1\ 816}# - #{e2\ 817}#) - (string? (syntax->datum #{docstring\ 815}#))) - #{tmp\ 811}#) - #f) - (@apply - (lambda (#{docstring\ 821}# - #{e1\ 822}# - #{e2\ 823}#) - (#{expand-body\ 789}# - #{req\ 790}# - #{opt\ 791}# - #{rest\ 792}# - #{kw\ 793}# - (cons #{e1\ 822}# #{e2\ 823}#) - #{vars\ 795}# - #{r*\ 796}# - #{w*\ 797}# - #{inits\ 798}# - (append - #{meta\ 799}# - (list (cons 'documentation - (syntax->datum - #{docstring\ 821}#)))))) - #{tmp\ 811}#) - (let ((#{tmp\ 826}# - ($sc-dispatch - #{tmp\ 810}# - '(#(vector #(each (any . any))) - any - . - each-any)))) - (if #{tmp\ 826}# - (@apply - (lambda (#{k\ 831}# - #{v\ 832}# - #{e1\ 833}# - #{e2\ 834}#) - (#{expand-body\ 789}# - #{req\ 790}# - #{opt\ 791}# - #{rest\ 792}# - #{kw\ 793}# - (cons #{e1\ 833}# #{e2\ 834}#) - #{vars\ 795}# - #{r*\ 796}# - #{w*\ 797}# - #{inits\ 798}# - (append - #{meta\ 799}# - (syntax->datum - (map cons #{k\ 831}# #{v\ 832}#))))) - #{tmp\ 826}#) - (let ((#{tmp\ 838}# - ($sc-dispatch - #{tmp\ 810}# - '(any . each-any)))) - (if #{tmp\ 838}# - (@apply - (lambda (#{e1\ 841}# #{e2\ 842}#) - (values - #{meta\ 799}# - #{req\ 790}# - #{opt\ 791}# - #{rest\ 792}# - #{kw\ 793}# - #{inits\ 798}# - #{vars\ 795}# - (#{chi-body\ 480}# - (cons #{e1\ 841}# #{e2\ 842}#) - (#{source-wrap\ 458}# - #{e\ 768}# - #{w\ 770}# - #{s\ 771}# - #{mod\ 772}#) - #{r*\ 796}# - #{w*\ 797}# - #{mod\ 772}#))) - #{tmp\ 838}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 810}#)))))))))) - (#{expand-kw\ 787}# - (lambda (#{req\ 844}# - #{opt\ 845}# - #{rest\ 846}# - #{kw\ 847}# - #{body\ 848}# - #{vars\ 849}# - #{r*\ 850}# - #{w*\ 851}# - #{aok\ 852}# - #{out\ 853}# - #{inits\ 854}#) - (if (pair? #{kw\ 847}#) - (let ((#{tmp\ 868}# (car #{kw\ 847}#))) - (let ((#{tmp\ 869}# - ($sc-dispatch - #{tmp\ 868}# - '(any any any)))) - (if #{tmp\ 869}# - (@apply - (lambda (#{k\ 873}# #{id\ 874}# #{i\ 875}#) - (begin - (let ((#{v\ 878}# (#{gen-var\ 500}# - #{id\ 874}#))) - (begin - (let ((#{l\ 880}# (#{gen-labels\ 405}# - (list #{v\ 878}#)))) - (begin - (let ((#{r**\ 882}# - (#{extend-var-env\ 377}# - #{l\ 880}# - (list #{v\ 878}#) - #{r*\ 850}#))) - (begin - (let ((#{w**\ 884}# - (#{make-binding-wrap\ 434}# - (list #{id\ 874}#) - #{l\ 880}# - #{w*\ 851}#))) - (#{expand-kw\ 787}# - #{req\ 844}# - #{opt\ 845}# - #{rest\ 846}# - (cdr #{kw\ 847}#) - #{body\ 848}# - (cons #{v\ 878}# - #{vars\ 849}#) - #{r**\ 882}# - #{w**\ 884}# - #{aok\ 852}# - (cons (list (syntax->datum - #{k\ 873}#) - (syntax->datum - #{id\ 874}#) - #{v\ 878}#) - #{out\ 853}#) - (cons (#{chi\ 472}# - #{i\ 875}# - #{r*\ 850}# - #{w*\ 851}# - #{mod\ 772}#) - #{inits\ 854}#))))))))))) - #{tmp\ 869}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 868}#)))) - (#{expand-body\ 789}# - #{req\ 844}# - #{opt\ 845}# - #{rest\ 846}# - (if (begin - (let ((#{t\ 888}# #{aok\ 852}#)) - (if #{t\ 888}# - #{t\ 888}# - (pair? #{out\ 853}#)))) - (cons #{aok\ 852}# (reverse #{out\ 853}#)) - #f) - #{body\ 848}# - (reverse #{vars\ 849}#) - #{r*\ 850}# - #{w*\ 851}# - (reverse #{inits\ 854}#) - '())))) - (#{expand-opt\ 785}# - (lambda (#{req\ 890}# - #{opt\ 891}# - #{rest\ 892}# - #{kw\ 893}# - #{body\ 894}# - #{vars\ 895}# - #{r*\ 896}# - #{w*\ 897}# - #{out\ 898}# - #{inits\ 899}#) - (if (pair? #{opt\ 891}#) - (let ((#{tmp\ 912}# (car #{opt\ 891}#))) - (let ((#{tmp\ 913}# - ($sc-dispatch #{tmp\ 912}# (quote (any any))))) - (if #{tmp\ 913}# - (@apply - (lambda (#{id\ 916}# #{i\ 917}#) - (begin - (let ((#{v\ 920}# (#{gen-var\ 500}# - #{id\ 916}#))) - (begin - (let ((#{l\ 922}# (#{gen-labels\ 405}# - (list #{v\ 920}#)))) - (begin - (let ((#{r**\ 924}# - (#{extend-var-env\ 377}# - #{l\ 922}# - (list #{v\ 920}#) - #{r*\ 896}#))) - (begin - (let ((#{w**\ 926}# - (#{make-binding-wrap\ 434}# - (list #{id\ 916}#) - #{l\ 922}# - #{w*\ 897}#))) - (#{expand-opt\ 785}# - #{req\ 890}# - (cdr #{opt\ 891}#) - #{rest\ 892}# - #{kw\ 893}# - #{body\ 894}# - (cons #{v\ 920}# - #{vars\ 895}#) - #{r**\ 924}# - #{w**\ 926}# - (cons (syntax->datum - #{id\ 916}#) - #{out\ 898}#) - (cons (#{chi\ 472}# - #{i\ 917}# - #{r*\ 896}# - #{w*\ 897}# - #{mod\ 772}#) - #{inits\ 899}#))))))))))) - #{tmp\ 913}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 912}#)))) - (if #{rest\ 892}# - (begin - (let ((#{v\ 931}# (#{gen-var\ 500}# #{rest\ 892}#))) - (begin - (let ((#{l\ 933}# (#{gen-labels\ 405}# - (list #{v\ 931}#)))) - (begin - (let ((#{r*\ 935}# - (#{extend-var-env\ 377}# - #{l\ 933}# - (list #{v\ 931}#) - #{r*\ 896}#))) - (begin - (let ((#{w*\ 937}# - (#{make-binding-wrap\ 434}# - (list #{rest\ 892}#) - #{l\ 933}# - #{w*\ 897}#))) - (#{expand-kw\ 787}# - #{req\ 890}# - (if (pair? #{out\ 898}#) - (reverse #{out\ 898}#) - #f) - (syntax->datum #{rest\ 892}#) - (if (pair? #{kw\ 893}#) - (cdr #{kw\ 893}#) - #{kw\ 893}#) - #{body\ 894}# - (cons #{v\ 931}# #{vars\ 895}#) - #{r*\ 935}# - #{w*\ 937}# - (if (pair? #{kw\ 893}#) - (car #{kw\ 893}#) - #f) - '() - #{inits\ 899}#))))))))) - (#{expand-kw\ 787}# - #{req\ 890}# - (if (pair? #{out\ 898}#) - (reverse #{out\ 898}#) - #f) - #f - (if (pair? #{kw\ 893}#) - (cdr #{kw\ 893}#) - #{kw\ 893}#) - #{body\ 894}# - #{vars\ 895}# - #{r*\ 896}# - #{w*\ 897}# - (if (pair? #{kw\ 893}#) (car #{kw\ 893}#) #f) - '() - #{inits\ 899}#))))) - (#{expand-req\ 783}# - (lambda (#{req\ 939}# - #{opt\ 940}# - #{rest\ 941}# - #{kw\ 942}# - #{body\ 943}#) - (begin - (let ((#{vars\ 951}# - (map #{gen-var\ 500}# #{req\ 939}#)) - (#{labels\ 952}# - (#{gen-labels\ 405}# #{req\ 939}#))) - (begin - (let ((#{r*\ 955}# - (#{extend-var-env\ 377}# - #{labels\ 952}# - #{vars\ 951}# - #{r\ 769}#)) - (#{w*\ 956}# - (#{make-binding-wrap\ 434}# - #{req\ 939}# - #{labels\ 952}# - #{w\ 770}#))) - (#{expand-opt\ 785}# - (map syntax->datum #{req\ 939}#) - #{opt\ 940}# - #{rest\ 941}# - #{kw\ 942}# - #{body\ 943}# - (reverse #{vars\ 951}#) - #{r*\ 955}# - #{w*\ 956}# - '() - '())))))))) + (if (if (not #{module\ 872}#) (current-module) #f) + (warn "module system is booted, we should have a module" + #{symbol\ 871}#)) (begin - (let ((#{tmp\ 957}# #{clauses\ 774}#)) - (let ((#{tmp\ 958}# - ($sc-dispatch #{tmp\ 957}# (quote ())))) - (if #{tmp\ 958}# - (@apply - (lambda () (values (quote ()) #f)) - #{tmp\ 958}#) - (let ((#{tmp\ 959}# - ($sc-dispatch - #{tmp\ 957}# - '((any any . each-any) - . - #(each (any any . each-any)))))) - (if #{tmp\ 959}# - (@apply - (lambda (#{args\ 966}# - #{e1\ 967}# - #{e2\ 968}# - #{args*\ 969}# - #{e1*\ 970}# - #{e2*\ 971}#) - (call-with-values - (lambda () - (#{get-formals\ 773}# #{args\ 966}#)) - (lambda (#{req\ 972}# - #{opt\ 973}# - #{rest\ 974}# - #{kw\ 975}#) - (call-with-values - (lambda () - (#{expand-req\ 783}# - #{req\ 972}# - #{opt\ 973}# - #{rest\ 974}# - #{kw\ 975}# - (cons #{e1\ 967}# #{e2\ 968}#))) - (lambda (#{meta\ 981}# - #{req\ 982}# - #{opt\ 983}# - #{rest\ 984}# - #{kw\ 985}# - #{inits\ 986}# - #{vars\ 987}# - #{body\ 988}#) - (call-with-values - (lambda () - (#{chi-lambda-case\ 496}# - #{e\ 768}# - #{r\ 769}# - #{w\ 770}# - #{s\ 771}# - #{mod\ 772}# - #{get-formals\ 773}# - (map (lambda (#{tmp\ 999}# - #{tmp\ 998}# - #{tmp\ 997}#) - (cons #{tmp\ 997}# - (cons #{tmp\ 998}# - #{tmp\ 999}#))) - #{e2*\ 971}# - #{e1*\ 970}# - #{args*\ 969}#))) - (lambda (#{meta*\ 1001}# - #{else*\ 1002}#) - (values - (append - #{meta\ 981}# - #{meta*\ 1001}#) - (#{build-lambda-case\ 333}# - #{s\ 771}# - #{req\ 982}# - #{opt\ 983}# - #{rest\ 984}# - #{kw\ 985}# - #{inits\ 986}# - #{vars\ 987}# - #{body\ 988}# - #{else*\ 1002}#))))))))) - #{tmp\ 959}#) + (let ((#{v\ 878}# (module-variable + (if #{module\ 872}# + (resolve-module (cdr #{module\ 872}#)) + (current-module)) + #{symbol\ 871}#))) + (if #{v\ 878}# + (if (variable-bound? #{v\ 878}#) + (begin + (let ((#{val\ 883}# (variable-ref #{v\ 878}#))) + (if (macro? #{val\ 883}#) + (if (macro-type #{val\ 883}#) + (cons (macro-type #{val\ 883}#) + (macro-binding #{val\ 883}#)) + #f) + #f))) + #f) + #f)))))) + (#{decorate-source\ 305}# + (lambda (#{e\ 887}# #{s\ 888}#) + (begin + (if (if (pair? #{e\ 887}#) #{s\ 888}# #f) + (set-source-properties! #{e\ 887}# #{s\ 888}#)) + #{e\ 887}#))) + (#{build-void\ 307}# + (lambda (#{source\ 893}#) + (#{make-void\ 245}# #{source\ 893}#))) + (#{build-application\ 309}# + (lambda (#{source\ 895}# + #{fun-exp\ 896}# + #{arg-exps\ 897}#) + (#{make-application\ 267}# + #{source\ 895}# + #{fun-exp\ 896}# + #{arg-exps\ 897}#))) + (#{build-conditional\ 311}# + (lambda (#{source\ 901}# + #{test-exp\ 902}# + #{then-exp\ 903}# + #{else-exp\ 904}#) + (#{make-conditional\ 265}# + #{source\ 901}# + #{test-exp\ 902}# + #{then-exp\ 903}# + #{else-exp\ 904}#))) + (#{build-dynlet\ 313}# + (lambda (#{source\ 909}# + #{fluids\ 910}# + #{vals\ 911}# + #{body\ 912}#) + (#{make-dynlet\ 279}# + #{source\ 909}# + #{fluids\ 910}# + #{vals\ 911}# + #{body\ 912}#))) + (#{build-lexical-reference\ 315}# + (lambda (#{type\ 917}# + #{source\ 918}# + #{name\ 919}# + #{var\ 920}#) + (#{make-lexical-ref\ 251}# + #{source\ 918}# + #{name\ 919}# + #{var\ 920}#))) + (#{build-lexical-assignment\ 317}# + (lambda (#{source\ 925}# + #{name\ 926}# + #{var\ 927}# + #{exp\ 928}#) + (#{make-lexical-set\ 253}# + #{source\ 925}# + #{name\ 926}# + #{var\ 927}# + #{exp\ 928}#))) + (#{analyze-variable\ 319}# + (lambda (#{mod\ 933}# + #{var\ 934}# + #{modref-cont\ 935}# + #{bare-cont\ 936}#) + (if (not #{mod\ 933}#) + (#{bare-cont\ 936}# #{var\ 934}#) + (begin + (let ((#{kind\ 943}# (car #{mod\ 933}#)) + (#{mod\ 944}# (cdr #{mod\ 933}#))) + (if (eqv? #{kind\ 943}# (quote public)) + (#{modref-cont\ 935}# + #{mod\ 944}# + #{var\ 934}# + #t) + (if (eqv? #{kind\ 943}# (quote private)) + (if (not (equal? + #{mod\ 944}# + (module-name (current-module)))) + (#{modref-cont\ 935}# + #{mod\ 944}# + #{var\ 934}# + #f) + (#{bare-cont\ 936}# #{var\ 934}#)) + (if (eqv? #{kind\ 943}# (quote bare)) + (#{bare-cont\ 936}# #{var\ 934}#) + (if (eqv? #{kind\ 943}# (quote hygiene)) + (if (if (not (equal? + #{mod\ 944}# + (module-name (current-module)))) + (module-variable + (resolve-module #{mod\ 944}#) + #{var\ 934}#) + #f) + (#{modref-cont\ 935}# + #{mod\ 944}# + #{var\ 934}# + #f) + (#{bare-cont\ 936}# #{var\ 934}#)) (syntax-violation #f - "source expression failed to match any pattern" - #{tmp\ 957}#)))))))))) - (#{lambda*-formals\ 494}# - (lambda (#{orig-args\ 1005}#) - (letrec* - ((#{check\ 1016}# - (lambda (#{req\ 1017}# - #{opt\ 1018}# - #{rest\ 1019}# - #{kw\ 1020}#) - (if (#{distinct-bound-ids?\ 452}# - (append - #{req\ 1017}# - (map car #{opt\ 1018}#) - (if #{rest\ 1019}# - (list #{rest\ 1019}#) - '()) - (if (pair? #{kw\ 1020}#) - (map cadr (cdr #{kw\ 1020}#)) - '()))) - (values - #{req\ 1017}# - #{opt\ 1018}# - #{rest\ 1019}# - #{kw\ 1020}#) - (syntax-violation - 'lambda* - "duplicate identifier in argument list" - #{orig-args\ 1005}#)))) - (#{rest\ 1014}# - (lambda (#{args\ 1028}# - #{req\ 1029}# - #{opt\ 1030}# - #{kw\ 1031}#) - (let ((#{tmp\ 1036}# #{args\ 1028}#)) - (let ((#{tmp\ 1037}# (list #{tmp\ 1036}#))) - (if (if #{tmp\ 1037}# - (@apply - (lambda (#{r\ 1039}#) - (#{id?\ 387}# #{r\ 1039}#)) - #{tmp\ 1037}#) - #f) - (@apply - (lambda (#{r\ 1041}#) - (#{check\ 1016}# - #{req\ 1029}# - #{opt\ 1030}# - #{r\ 1041}# - #{kw\ 1031}#)) - #{tmp\ 1037}#) - (let ((#{else\ 1043}# #{tmp\ 1036}#)) - (syntax-violation - 'lambda* - "invalid rest argument" - #{orig-args\ 1005}# - #{args\ 1028}#))))))) - (#{key\ 1012}# - (lambda (#{args\ 1044}# - #{req\ 1045}# - #{opt\ 1046}# - #{rkey\ 1047}#) - (let ((#{tmp\ 1052}# #{args\ 1044}#)) - (let ((#{tmp\ 1053}# - ($sc-dispatch #{tmp\ 1052}# (quote ())))) - (if #{tmp\ 1053}# - (@apply - (lambda () - (#{check\ 1016}# - #{req\ 1045}# - #{opt\ 1046}# - #f - (cons #f (reverse #{rkey\ 1047}#)))) - #{tmp\ 1053}#) - (let ((#{tmp\ 1054}# - ($sc-dispatch - #{tmp\ 1052}# - '(any . any)))) - (if (if #{tmp\ 1054}# - (@apply - (lambda (#{a\ 1057}# #{b\ 1058}#) - (#{id?\ 387}# #{a\ 1057}#)) - #{tmp\ 1054}#) - #f) - (@apply - (lambda (#{a\ 1061}# #{b\ 1062}#) - (let ((#{tmp\ 1064}# - (symbol->keyword - (syntax->datum #{a\ 1061}#)))) - (let ((#{k\ 1066}# #{tmp\ 1064}#)) - (#{key\ 1012}# - #{b\ 1062}# - #{req\ 1045}# - #{opt\ 1046}# - (cons (cons #{k\ 1066}# - (cons #{a\ 1061}# - '(#(syntax-object - #f - ((top) - #(ribcage - #(k) - #((top)) - #("i1065")) - #(ribcage - #(a b) - #((top) (top)) - #("i1059" - "i1060")) - #(ribcage - () - () - ()) - #(ribcage - #(args - req - opt - rkey) - #((top) - (top) - (top) - (top)) - #("i1048" - "i1049" - "i1050" - "i1051")) - #(ribcage - (check rest - key - opt - req) - ((top) - (top) - (top) - (top) - (top)) - ("i1015" - "i1013" - "i1011" - "i1009" - "i1007")) - #(ribcage - #(orig-args) - #((top)) - #("i1006")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - chi-top - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - maybe-name-value! - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i501" - "i499" - "i497" - "i495" - "i493" - "i491" - "i489" - "i487" - "i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i430" - "i429" - "i427" - "i426" - "i425" - "i424" - "i423" - "i421" - "i419" - "i417" - "i415" - "i413" - "i411" - "i409" - "i407" - "i404" - "i402" - "i401" - "i400" - "i399" - "i398" - "i397" - "i395" - "i393" - "i391" - "i389" - "i388" - "i386" - "i384" - "i382" - "i380" - "i378" - "i376" - "i374" - "i373" - "i371" - "i369" - "i368" - "i367" - "i365" - "i364" - "i362" - "i360" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i299" - "i297" - "i295" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i278" - "i276" - "i274" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i38" - "i37" - "i36" - "i34"))) - (hygiene - guile))))) - #{rkey\ 1047}#))))) - #{tmp\ 1054}#) - (let ((#{tmp\ 1067}# - ($sc-dispatch - #{tmp\ 1052}# - '((any any) . any)))) - (if (if #{tmp\ 1067}# - (@apply - (lambda (#{a\ 1071}# - #{init\ 1072}# - #{b\ 1073}#) - (#{id?\ 387}# #{a\ 1071}#)) - #{tmp\ 1067}#) - #f) - (@apply - (lambda (#{a\ 1077}# - #{init\ 1078}# - #{b\ 1079}#) - (let ((#{tmp\ 1081}# - (symbol->keyword - (syntax->datum #{a\ 1077}#)))) - (let ((#{k\ 1083}# #{tmp\ 1081}#)) - (#{key\ 1012}# - #{b\ 1079}# - #{req\ 1045}# - #{opt\ 1046}# - (cons (list #{k\ 1083}# - #{a\ 1077}# - #{init\ 1078}#) - #{rkey\ 1047}#))))) - #{tmp\ 1067}#) - (let ((#{tmp\ 1084}# - ($sc-dispatch - #{tmp\ 1052}# - '((any any any) . any)))) - (if (if #{tmp\ 1084}# - (@apply - (lambda (#{a\ 1089}# - #{init\ 1090}# - #{k\ 1091}# - #{b\ 1092}#) - (if (#{id?\ 387}# #{a\ 1089}#) - (keyword? - (syntax->datum #{k\ 1091}#)) - #f)) - #{tmp\ 1084}#) - #f) - (@apply - (lambda (#{a\ 1099}# - #{init\ 1100}# - #{k\ 1101}# - #{b\ 1102}#) - (#{key\ 1012}# - #{b\ 1102}# - #{req\ 1045}# - #{opt\ 1046}# - (cons (list #{k\ 1101}# - #{a\ 1099}# - #{init\ 1100}#) - #{rkey\ 1047}#))) - #{tmp\ 1084}#) - (let ((#{tmp\ 1103}# - ($sc-dispatch - #{tmp\ 1052}# - '(any)))) - (if (if #{tmp\ 1103}# - (@apply - (lambda (#{aok\ 1105}#) - (eq? (syntax->datum - #{aok\ 1105}#) - #:allow-other-keys)) - #{tmp\ 1103}#) - #f) - (@apply - (lambda (#{aok\ 1107}#) - (#{check\ 1016}# - #{req\ 1045}# - #{opt\ 1046}# - #f - (cons #t - (reverse - #{rkey\ 1047}#)))) - #{tmp\ 1103}#) - (let ((#{tmp\ 1108}# - ($sc-dispatch - #{tmp\ 1052}# - '(any any any)))) - (if (if #{tmp\ 1108}# - (@apply - (lambda (#{aok\ 1112}# - #{a\ 1113}# - #{b\ 1114}#) - (if (eq? (syntax->datum - #{aok\ 1112}#) - #:allow-other-keys) - (eq? (syntax->datum - #{a\ 1113}#) - #:rest) - #f)) - #{tmp\ 1108}#) - #f) - (@apply - (lambda (#{aok\ 1120}# - #{a\ 1121}# - #{b\ 1122}#) - (#{rest\ 1014}# - #{b\ 1122}# - #{req\ 1045}# - #{opt\ 1046}# - (cons #t - (reverse - #{rkey\ 1047}#)))) - #{tmp\ 1108}#) - (let ((#{tmp\ 1123}# - ($sc-dispatch - #{tmp\ 1052}# - '(any . any)))) - (if (if #{tmp\ 1123}# - (@apply - (lambda (#{aok\ 1126}# - #{r\ 1127}#) - (if (eq? (syntax->datum - #{aok\ 1126}#) - #:allow-other-keys) - (#{id?\ 387}# - #{r\ 1127}#) - #f)) - #{tmp\ 1123}#) - #f) - (@apply - (lambda (#{aok\ 1132}# - #{r\ 1133}#) - (#{rest\ 1014}# - #{r\ 1133}# - #{req\ 1045}# - #{opt\ 1046}# - (cons #t - (reverse - #{rkey\ 1047}#)))) - #{tmp\ 1123}#) - (let ((#{tmp\ 1134}# - ($sc-dispatch - #{tmp\ 1052}# - '(any any)))) - (if (if #{tmp\ 1134}# - (@apply - (lambda (#{a\ 1137}# - #{b\ 1138}#) - (eq? (syntax->datum - #{a\ 1137}#) - #:rest)) - #{tmp\ 1134}#) - #f) - (@apply - (lambda (#{a\ 1141}# - #{b\ 1142}#) - (#{rest\ 1014}# - #{b\ 1142}# - #{req\ 1045}# - #{opt\ 1046}# - (cons #f - (reverse - #{rkey\ 1047}#)))) - #{tmp\ 1134}#) - (let ((#{tmp\ 1143}# - (list #{tmp\ 1052}#))) - (if (if #{tmp\ 1143}# - (@apply - (lambda (#{r\ 1145}#) - (#{id?\ 387}# - #{r\ 1145}#)) - #{tmp\ 1143}#) - #f) - (@apply - (lambda (#{r\ 1147}#) - (#{rest\ 1014}# - #{r\ 1147}# - #{req\ 1045}# - #{opt\ 1046}# - (cons #f - (reverse - #{rkey\ 1047}#)))) - #{tmp\ 1143}#) - (let ((#{else\ 1149}# - #{tmp\ 1052}#)) - (syntax-violation - 'lambda* - "invalid keyword argument list" - #{orig-args\ 1005}# - #{args\ 1044}#))))))))))))))))))))))) - (#{opt\ 1010}# - (lambda (#{args\ 1150}# #{req\ 1151}# #{ropt\ 1152}#) - (let ((#{tmp\ 1156}# #{args\ 1150}#)) - (let ((#{tmp\ 1157}# - ($sc-dispatch #{tmp\ 1156}# (quote ())))) - (if #{tmp\ 1157}# - (@apply - (lambda () - (#{check\ 1016}# - #{req\ 1151}# - (reverse #{ropt\ 1152}#) - #f - '())) - #{tmp\ 1157}#) - (let ((#{tmp\ 1158}# - ($sc-dispatch - #{tmp\ 1156}# - '(any . any)))) - (if (if #{tmp\ 1158}# - (@apply - (lambda (#{a\ 1161}# #{b\ 1162}#) - (#{id?\ 387}# #{a\ 1161}#)) - #{tmp\ 1158}#) - #f) - (@apply - (lambda (#{a\ 1165}# #{b\ 1166}#) - (#{opt\ 1010}# - #{b\ 1166}# - #{req\ 1151}# - (cons (cons #{a\ 1165}# - '(#(syntax-object - #f - ((top) - #(ribcage - #(a b) - #((top) (top)) - #("i1163" "i1164")) - #(ribcage () () ()) - #(ribcage - #(args req ropt) - #((top) (top) (top)) - #("i1153" - "i1154" - "i1155")) - #(ribcage - (check rest key opt req) - ((top) - (top) - (top) - (top) - (top)) - ("i1015" - "i1013" - "i1011" - "i1009" - "i1007")) - #(ribcage - #(orig-args) - #((top)) - #("i1006")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - chi-top - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - maybe-name-value! - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i501" - "i499" - "i497" - "i495" - "i493" - "i491" - "i489" - "i487" - "i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i430" - "i429" - "i427" - "i426" - "i425" - "i424" - "i423" - "i421" - "i419" - "i417" - "i415" - "i413" - "i411" - "i409" - "i407" - "i404" - "i402" - "i401" - "i400" - "i399" - "i398" - "i397" - "i395" - "i393" - "i391" - "i389" - "i388" - "i386" - "i384" - "i382" - "i380" - "i378" - "i376" - "i374" - "i373" - "i371" - "i369" - "i368" - "i367" - "i365" - "i364" - "i362" - "i360" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i299" - "i297" - "i295" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i278" - "i276" - "i274" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) - (top) - (top) - (top)) - ("i38" - "i37" - "i36" - "i34"))) - (hygiene guile)))) - #{ropt\ 1152}#))) - #{tmp\ 1158}#) - (let ((#{tmp\ 1167}# - ($sc-dispatch - #{tmp\ 1156}# - '((any any) . any)))) - (if (if #{tmp\ 1167}# - (@apply - (lambda (#{a\ 1171}# - #{init\ 1172}# - #{b\ 1173}#) - (#{id?\ 387}# #{a\ 1171}#)) - #{tmp\ 1167}#) - #f) - (@apply - (lambda (#{a\ 1177}# - #{init\ 1178}# - #{b\ 1179}#) - (#{opt\ 1010}# - #{b\ 1179}# - #{req\ 1151}# - (cons (list #{a\ 1177}# #{init\ 1178}#) - #{ropt\ 1152}#))) - #{tmp\ 1167}#) - (let ((#{tmp\ 1180}# - ($sc-dispatch - #{tmp\ 1156}# - '(any . any)))) - (if (if #{tmp\ 1180}# - (@apply - (lambda (#{a\ 1183}# #{b\ 1184}#) - (eq? (syntax->datum #{a\ 1183}#) - #:key)) - #{tmp\ 1180}#) - #f) - (@apply - (lambda (#{a\ 1187}# #{b\ 1188}#) - (#{key\ 1012}# - #{b\ 1188}# - #{req\ 1151}# - (reverse #{ropt\ 1152}#) - '())) - #{tmp\ 1180}#) - (let ((#{tmp\ 1189}# - ($sc-dispatch - #{tmp\ 1156}# - '(any any)))) - (if (if #{tmp\ 1189}# - (@apply - (lambda (#{a\ 1192}# - #{b\ 1193}#) - (eq? (syntax->datum - #{a\ 1192}#) - #:rest)) - #{tmp\ 1189}#) - #f) - (@apply - (lambda (#{a\ 1196}# #{b\ 1197}#) - (#{rest\ 1014}# - #{b\ 1197}# - #{req\ 1151}# - (reverse #{ropt\ 1152}#) - '())) - #{tmp\ 1189}#) - (let ((#{tmp\ 1198}# - (list #{tmp\ 1156}#))) - (if (if #{tmp\ 1198}# - (@apply - (lambda (#{r\ 1200}#) - (#{id?\ 387}# - #{r\ 1200}#)) - #{tmp\ 1198}#) - #f) - (@apply - (lambda (#{r\ 1202}#) - (#{rest\ 1014}# - #{r\ 1202}# - #{req\ 1151}# - (reverse #{ropt\ 1152}#) - '())) - #{tmp\ 1198}#) - (let ((#{else\ 1204}# - #{tmp\ 1156}#)) - (syntax-violation - 'lambda* - "invalid optional argument list" - #{orig-args\ 1005}# - #{args\ 1150}#))))))))))))))))) - (#{req\ 1008}# - (lambda (#{args\ 1205}# #{rreq\ 1206}#) - (let ((#{tmp\ 1209}# #{args\ 1205}#)) - (let ((#{tmp\ 1210}# - ($sc-dispatch #{tmp\ 1209}# (quote ())))) - (if #{tmp\ 1210}# - (@apply - (lambda () - (#{check\ 1016}# - (reverse #{rreq\ 1206}#) - '() - #f - '())) - #{tmp\ 1210}#) - (let ((#{tmp\ 1211}# - ($sc-dispatch - #{tmp\ 1209}# - '(any . any)))) - (if (if #{tmp\ 1211}# - (@apply - (lambda (#{a\ 1214}# #{b\ 1215}#) - (#{id?\ 387}# #{a\ 1214}#)) - #{tmp\ 1211}#) - #f) - (@apply - (lambda (#{a\ 1218}# #{b\ 1219}#) - (#{req\ 1008}# - #{b\ 1219}# - (cons #{a\ 1218}# #{rreq\ 1206}#))) - #{tmp\ 1211}#) - (let ((#{tmp\ 1220}# - ($sc-dispatch - #{tmp\ 1209}# - '(any . any)))) - (if (if #{tmp\ 1220}# - (@apply - (lambda (#{a\ 1223}# #{b\ 1224}#) - (eq? (syntax->datum #{a\ 1223}#) - #:optional)) - #{tmp\ 1220}#) - #f) - (@apply - (lambda (#{a\ 1227}# #{b\ 1228}#) - (#{opt\ 1010}# - #{b\ 1228}# - (reverse #{rreq\ 1206}#) - '())) - #{tmp\ 1220}#) - (let ((#{tmp\ 1229}# - ($sc-dispatch - #{tmp\ 1209}# - '(any . any)))) - (if (if #{tmp\ 1229}# - (@apply - (lambda (#{a\ 1232}# #{b\ 1233}#) - (eq? (syntax->datum #{a\ 1232}#) - #:key)) - #{tmp\ 1229}#) - #f) - (@apply - (lambda (#{a\ 1236}# #{b\ 1237}#) - (#{key\ 1012}# - #{b\ 1237}# - (reverse #{rreq\ 1206}#) - '() - '())) - #{tmp\ 1229}#) - (let ((#{tmp\ 1238}# - ($sc-dispatch - #{tmp\ 1209}# - '(any any)))) - (if (if #{tmp\ 1238}# - (@apply - (lambda (#{a\ 1241}# - #{b\ 1242}#) - (eq? (syntax->datum - #{a\ 1241}#) - #:rest)) - #{tmp\ 1238}#) - #f) - (@apply - (lambda (#{a\ 1245}# #{b\ 1246}#) - (#{rest\ 1014}# - #{b\ 1246}# - (reverse #{rreq\ 1206}#) - '() - '())) - #{tmp\ 1238}#) - (let ((#{tmp\ 1247}# - (list #{tmp\ 1209}#))) - (if (if #{tmp\ 1247}# - (@apply - (lambda (#{r\ 1249}#) - (#{id?\ 387}# - #{r\ 1249}#)) - #{tmp\ 1247}#) - #f) - (@apply - (lambda (#{r\ 1251}#) - (#{rest\ 1014}# - #{r\ 1251}# - (reverse #{rreq\ 1206}#) - '() - '())) - #{tmp\ 1247}#) - (let ((#{else\ 1253}# - #{tmp\ 1209}#)) - (syntax-violation - 'lambda* - "invalid argument list" - #{orig-args\ 1005}# - #{args\ 1205}#)))))))))))))))))) + "bad module kind" + #{var\ 934}# + #{mod\ 944}#)))))))))) + (#{build-global-reference\ 321}# + (lambda (#{source\ 952}# #{var\ 953}# #{mod\ 954}#) + (#{analyze-variable\ 319}# + #{mod\ 954}# + #{var\ 953}# + (lambda (#{mod\ 958}# #{var\ 959}# #{public?\ 960}#) + (#{make-module-ref\ 255}# + #{source\ 952}# + #{mod\ 958}# + #{var\ 959}# + #{public?\ 960}#)) + (lambda (#{var\ 964}#) + (#{make-toplevel-ref\ 259}# + #{source\ 952}# + #{var\ 964}#))))) + (#{build-global-assignment\ 323}# + (lambda (#{source\ 966}# + #{var\ 967}# + #{exp\ 968}# + #{mod\ 969}#) + (#{analyze-variable\ 319}# + #{mod\ 969}# + #{var\ 967}# + (lambda (#{mod\ 974}# #{var\ 975}# #{public?\ 976}#) + (#{make-module-set\ 257}# + #{source\ 966}# + #{mod\ 974}# + #{var\ 975}# + #{public?\ 976}# + #{exp\ 968}#)) + (lambda (#{var\ 980}#) + (#{make-toplevel-set\ 261}# + #{source\ 966}# + #{var\ 980}# + #{exp\ 968}#))))) + (#{maybe-name-value!\ 325}# + (lambda (#{name\ 982}# #{val\ 983}#) + (if (#{lambda?\ 282}# #{val\ 983}#) (begin - (#{req\ 1008}# #{orig-args\ 1005}# (quote ())))))) - (#{chi-simple-lambda\ 492}# - (lambda (#{e\ 1254}# - #{r\ 1255}# - #{w\ 1256}# - #{s\ 1257}# - #{mod\ 1258}# - #{req\ 1259}# - #{rest\ 1260}# - #{meta\ 1261}# - #{body\ 1262}#) + (let ((#{meta\ 987}# + (#{lambda-meta\ 284}# #{val\ 983}#))) + (if (not (assq (quote name) #{meta\ 987}#)) + (#{set-lambda-meta!\ 286}# + #{val\ 983}# + (cons (cons (quote name) #{name\ 982}#) + #{meta\ 987}#)))))))) + (#{build-global-definition\ 327}# + (lambda (#{source\ 988}# #{var\ 989}# #{exp\ 990}#) (begin - (let ((#{ids\ 1274}# - (if #{rest\ 1260}# - (append #{req\ 1259}# (list #{rest\ 1260}#)) - #{req\ 1259}#))) + (#{maybe-name-value!\ 325}# + #{var\ 989}# + #{exp\ 990}#) + (#{make-toplevel-define\ 263}# + #{source\ 988}# + #{var\ 989}# + #{exp\ 990}#)))) + (#{build-simple-lambda\ 329}# + (lambda (#{src\ 994}# + #{req\ 995}# + #{rest\ 996}# + #{vars\ 997}# + #{meta\ 998}# + #{exp\ 999}#) + (#{make-lambda\ 271}# + #{src\ 994}# + #{meta\ 998}# + (#{make-lambda-case\ 273}# + #{src\ 994}# + #{req\ 995}# + #f + #{rest\ 996}# + #f + '() + #{vars\ 997}# + #{exp\ 999}# + #f)))) + (#{build-case-lambda\ 331}# + (lambda (#{src\ 1006}# #{meta\ 1007}# #{body\ 1008}#) + (#{make-lambda\ 271}# + #{src\ 1006}# + #{meta\ 1007}# + #{body\ 1008}#))) + (#{build-lambda-case\ 333}# + (lambda (#{src\ 1012}# + #{req\ 1013}# + #{opt\ 1014}# + #{rest\ 1015}# + #{kw\ 1016}# + #{inits\ 1017}# + #{vars\ 1018}# + #{body\ 1019}# + #{else-case\ 1020}#) + (#{make-lambda-case\ 273}# + #{src\ 1012}# + #{req\ 1013}# + #{opt\ 1014}# + #{rest\ 1015}# + #{kw\ 1016}# + #{inits\ 1017}# + #{vars\ 1018}# + #{body\ 1019}# + #{else-case\ 1020}#))) + (#{build-primref\ 335}# + (lambda (#{src\ 1030}# #{name\ 1031}#) + (if (equal? + (module-name (current-module)) + '(guile)) + (#{make-toplevel-ref\ 259}# + #{src\ 1030}# + #{name\ 1031}#) + (#{make-module-ref\ 255}# + #{src\ 1030}# + '(guile) + #{name\ 1031}# + #f)))) + (#{build-data\ 337}# + (lambda (#{src\ 1034}# #{exp\ 1035}#) + (#{make-const\ 247}# #{src\ 1034}# #{exp\ 1035}#))) + (#{build-sequence\ 339}# + (lambda (#{src\ 1038}# #{exps\ 1039}#) + (if (null? (cdr #{exps\ 1039}#)) + (car #{exps\ 1039}#) + (#{make-sequence\ 269}# + #{src\ 1038}# + #{exps\ 1039}#)))) + (#{build-let\ 341}# + (lambda (#{src\ 1042}# + #{ids\ 1043}# + #{vars\ 1044}# + #{val-exps\ 1045}# + #{body-exp\ 1046}#) + (begin + (for-each + #{maybe-name-value!\ 325}# + #{ids\ 1043}# + #{val-exps\ 1045}#) + (if (null? #{vars\ 1044}#) + #{body-exp\ 1046}# + (#{make-let\ 275}# + #{src\ 1042}# + #{ids\ 1043}# + #{vars\ 1044}# + #{val-exps\ 1045}# + #{body-exp\ 1046}#))))) + (#{build-named-let\ 343}# + (lambda (#{src\ 1052}# + #{ids\ 1053}# + #{vars\ 1054}# + #{val-exps\ 1055}# + #{body-exp\ 1056}#) + (begin + (let ((#{f\ 1066}# (car #{vars\ 1054}#)) + (#{f-name\ 1067}# (car #{ids\ 1053}#)) + (#{vars\ 1068}# (cdr #{vars\ 1054}#)) + (#{ids\ 1069}# (cdr #{ids\ 1053}#))) (begin - (let ((#{vars\ 1276}# - (map #{gen-var\ 500}# #{ids\ 1274}#))) - (begin - (let ((#{labels\ 1278}# - (#{gen-labels\ 405}# #{ids\ 1274}#))) - (#{build-simple-lambda\ 329}# - #{s\ 1257}# - (map syntax->datum #{req\ 1259}#) - (if #{rest\ 1260}# - (syntax->datum #{rest\ 1260}#) - #f) - #{vars\ 1276}# - #{meta\ 1261}# - (#{chi-body\ 480}# - #{body\ 1262}# - (#{source-wrap\ 458}# - #{e\ 1254}# - #{w\ 1256}# - #{s\ 1257}# - #{mod\ 1258}#) - (#{extend-var-env\ 377}# - #{labels\ 1278}# - #{vars\ 1276}# - #{r\ 1255}#) - (#{make-binding-wrap\ 434}# - #{ids\ 1274}# - #{labels\ 1278}# - #{w\ 1256}#) - #{mod\ 1258}#)))))))))) - (#{lambda-formals\ 490}# - (lambda (#{orig-args\ 1281}#) - (letrec* - ((#{check\ 1286}# - (lambda (#{req\ 1287}# #{rest\ 1288}#) - (if (#{distinct-bound-ids?\ 452}# - (if #{rest\ 1288}# - (cons #{rest\ 1288}# #{req\ 1287}#) - #{req\ 1287}#)) - (values #{req\ 1287}# #f #{rest\ 1288}# #f) - (syntax-violation - 'lambda - "duplicate identifier in argument list" - #{orig-args\ 1281}#)))) - (#{req\ 1284}# - (lambda (#{args\ 1294}# #{rreq\ 1295}#) - (let ((#{tmp\ 1298}# #{args\ 1294}#)) - (let ((#{tmp\ 1299}# - ($sc-dispatch #{tmp\ 1298}# (quote ())))) - (if #{tmp\ 1299}# - (@apply - (lambda () - (#{check\ 1286}# (reverse #{rreq\ 1295}#) #f)) - #{tmp\ 1299}#) - (let ((#{tmp\ 1300}# - ($sc-dispatch - #{tmp\ 1298}# - '(any . any)))) - (if (if #{tmp\ 1300}# - (@apply - (lambda (#{a\ 1303}# #{b\ 1304}#) - (#{id?\ 387}# #{a\ 1303}#)) - #{tmp\ 1300}#) - #f) - (@apply - (lambda (#{a\ 1307}# #{b\ 1308}#) - (#{req\ 1284}# - #{b\ 1308}# - (cons #{a\ 1307}# #{rreq\ 1295}#))) - #{tmp\ 1300}#) - (let ((#{tmp\ 1309}# (list #{tmp\ 1298}#))) - (if (if #{tmp\ 1309}# - (@apply - (lambda (#{r\ 1311}#) - (#{id?\ 387}# #{r\ 1311}#)) - #{tmp\ 1309}#) - #f) - (@apply - (lambda (#{r\ 1313}#) - (#{check\ 1286}# - (reverse #{rreq\ 1295}#) - #{r\ 1313}#)) - #{tmp\ 1309}#) - (let ((#{else\ 1315}# #{tmp\ 1298}#)) - (syntax-violation - 'lambda - "invalid argument list" - #{orig-args\ 1281}# - #{args\ 1294}#)))))))))))) - (begin - (#{req\ 1284}# #{orig-args\ 1281}# (quote ())))))) - (#{ellipsis?\ 488}# - (lambda (#{x\ 1316}#) - (if (#{nonsymbol-id?\ 385}# #{x\ 1316}#) - (#{free-id=?\ 446}# - #{x\ 1316}# - '#(syntax-object - ... - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1317")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - chi-top - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - maybe-name-value! - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i501" - "i499" - "i497" - "i495" - "i493" - "i491" - "i489" - "i487" - "i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i430" - "i429" - "i427" - "i426" - "i425" - "i424" - "i423" - "i421" - "i419" - "i417" - "i415" - "i413" - "i411" - "i409" - "i407" - "i404" - "i402" - "i401" - "i400" - "i399" - "i398" - "i397" - "i395" - "i393" - "i391" - "i389" - "i388" - "i386" - "i384" - "i382" - "i380" - "i378" - "i376" - "i374" - "i373" - "i371" - "i369" - "i368" - "i367" - "i365" - "i364" - "i362" - "i360" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i299" - "i297" - "i295" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i278" - "i276" - "i274" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i38" "i37" "i36" "i34"))) - (hygiene guile))) - #f))) - (#{chi-void\ 486}# - (lambda () (#{build-void\ 307}# #f))) - (#{eval-local-transformer\ 484}# - (lambda (#{expanded\ 1321}# #{mod\ 1322}#) - (begin - (let ((#{p\ 1326}# - (#{local-eval-hook\ 298}# - #{expanded\ 1321}# - #{mod\ 1322}#))) - (if (procedure? #{p\ 1326}#) - #{p\ 1326}# - (syntax-violation - #f - "nonprocedure transformer" - #{p\ 1326}#)))))) - (#{chi-local-syntax\ 482}# - (lambda (#{rec?\ 1327}# - #{e\ 1328}# - #{r\ 1329}# - #{w\ 1330}# - #{s\ 1331}# - #{mod\ 1332}# - #{k\ 1333}#) - (let ((#{tmp\ 1341}# #{e\ 1328}#)) - (let ((#{tmp\ 1342}# - ($sc-dispatch - #{tmp\ 1341}# - '(any #(each (any any)) any . each-any)))) - (if #{tmp\ 1342}# - (@apply - (lambda (#{_\ 1348}# - #{id\ 1349}# - #{val\ 1350}# - #{e1\ 1351}# - #{e2\ 1352}#) - (begin - (let ((#{ids\ 1354}# #{id\ 1349}#)) - (if (not (#{valid-bound-ids?\ 450}# #{ids\ 1354}#)) - (syntax-violation - #f - "duplicate bound keyword" - #{e\ 1328}#) - (begin - (let ((#{labels\ 1357}# - (#{gen-labels\ 405}# #{ids\ 1354}#))) - (begin - (let ((#{new-w\ 1359}# - (#{make-binding-wrap\ 434}# - #{ids\ 1354}# - #{labels\ 1357}# - #{w\ 1330}#))) - (#{k\ 1333}# - (cons #{e1\ 1351}# #{e2\ 1352}#) - (#{extend-env\ 375}# - #{labels\ 1357}# - (begin - (let ((#{w\ 1363}# - (if #{rec?\ 1327}# - #{new-w\ 1359}# - #{w\ 1330}#)) - (#{trans-r\ 1364}# - (#{macros-only-env\ 379}# - #{r\ 1329}#))) - (map (lambda (#{x\ 1365}#) - (cons 'macro - (#{eval-local-transformer\ 484}# - (#{chi\ 472}# - #{x\ 1365}# - #{trans-r\ 1364}# - #{w\ 1363}# - #{mod\ 1332}#) - #{mod\ 1332}#))) - #{val\ 1350}#))) - #{r\ 1329}#) - #{new-w\ 1359}# - #{s\ 1331}# - #{mod\ 1332}#))))))))) - #{tmp\ 1342}#) - (let ((#{_\ 1370}# #{tmp\ 1341}#)) - (syntax-violation - #f - "bad local syntax definition" - (#{source-wrap\ 458}# - #{e\ 1328}# - #{w\ 1330}# - #{s\ 1331}# - #{mod\ 1332}#)))))))) - (#{chi-body\ 480}# - (lambda (#{body\ 1371}# - #{outer-form\ 1372}# - #{r\ 1373}# - #{w\ 1374}# - #{mod\ 1375}#) - (begin - (let ((#{r\ 1383}# - (cons '("placeholder" placeholder) - #{r\ 1373}#))) - (begin - (let ((#{ribcage\ 1385}# - (#{make-ribcage\ 408}# + (let ((#{proc\ 1071}# + (#{build-simple-lambda\ 329}# + #{src\ 1052}# + #{ids\ 1069}# + #f + #{vars\ 1068}# '() - '() - '()))) + #{body-exp\ 1056}#))) (begin - (let ((#{w\ 1388}# - (#{make-wrap\ 392}# - (#{wrap-marks\ 394}# #{w\ 1374}#) - (cons #{ribcage\ 1385}# - (#{wrap-subst\ 396}# #{w\ 1374}#))))) - (letrec* - ((#{parse\ 1397}# - (lambda (#{body\ 1398}# - #{ids\ 1399}# - #{labels\ 1400}# - #{var-ids\ 1401}# - #{vars\ 1402}# - #{vals\ 1403}# - #{bindings\ 1404}#) - (if (null? #{body\ 1398}#) - (syntax-violation - #f - "no expressions in body" - #{outer-form\ 1372}#) - (begin - (let ((#{e\ 1409}# - (cdr (car #{body\ 1398}#))) - (#{er\ 1410}# - (car (car #{body\ 1398}#)))) - (call-with-values - (lambda () - (#{syntax-type\ 468}# - #{e\ 1409}# - #{er\ 1410}# - '(()) - (#{source-annotation\ 366}# - #{er\ 1410}#) - #{ribcage\ 1385}# - #{mod\ 1375}# - #f)) - (lambda (#{type\ 1412}# - #{value\ 1413}# - #{e\ 1414}# - #{w\ 1415}# - #{s\ 1416}# - #{mod\ 1417}#) - (if (eqv? #{type\ 1412}# - 'define-form) - (begin - (let ((#{id\ 1427}# - (#{wrap\ 456}# - #{value\ 1413}# - #{w\ 1415}# - #{mod\ 1417}#)) - (#{label\ 1428}# - (#{gen-label\ 403}#))) - (begin - (let ((#{var\ 1430}# - (#{gen-var\ 500}# - #{id\ 1427}#))) - (begin - (#{extend-ribcage!\ 432}# - #{ribcage\ 1385}# - #{id\ 1427}# - #{label\ 1428}#) - (#{parse\ 1397}# - (cdr #{body\ 1398}#) - (cons #{id\ 1427}# - #{ids\ 1399}#) - (cons #{label\ 1428}# - #{labels\ 1400}#) - (cons #{id\ 1427}# - #{var-ids\ 1401}#) - (cons #{var\ 1430}# - #{vars\ 1402}#) - (cons (cons #{er\ 1410}# - (#{wrap\ 456}# - #{e\ 1414}# - #{w\ 1415}# - #{mod\ 1417}#)) - #{vals\ 1403}#) - (cons (cons 'lexical - #{var\ 1430}#) - #{bindings\ 1404}#))))))) - (if (eqv? #{type\ 1412}# - 'define-syntax-form) - (begin - (let ((#{id\ 1435}# - (#{wrap\ 456}# - #{value\ 1413}# - #{w\ 1415}# - #{mod\ 1417}#)) - (#{label\ 1436}# - (#{gen-label\ 403}#))) - (begin - (#{extend-ribcage!\ 432}# - #{ribcage\ 1385}# - #{id\ 1435}# - #{label\ 1436}#) - (#{parse\ 1397}# - (cdr #{body\ 1398}#) - (cons #{id\ 1435}# - #{ids\ 1399}#) - (cons #{label\ 1436}# - #{labels\ 1400}#) - #{var-ids\ 1401}# - #{vars\ 1402}# - #{vals\ 1403}# - (cons (cons 'macro - (cons #{er\ 1410}# - (#{wrap\ 456}# - #{e\ 1414}# - #{w\ 1415}# - #{mod\ 1417}#))) - #{bindings\ 1404}#))))) - (if (eqv? #{type\ 1412}# - 'begin-form) - (let ((#{tmp\ 1439}# - #{e\ 1414}#)) - (let ((#{tmp\ 1440}# - ($sc-dispatch - #{tmp\ 1439}# - '(any . - each-any)))) - (if #{tmp\ 1440}# - (@apply - (lambda (#{_\ 1443}# - #{e1\ 1444}#) - (#{parse\ 1397}# - (letrec* - ((#{f\ 1447}# - (lambda (#{forms\ 1448}#) - (if (null? #{forms\ 1448}#) - (cdr #{body\ 1398}#) - (cons (cons #{er\ 1410}# - (#{wrap\ 456}# - (car #{forms\ 1448}#) - #{w\ 1415}# - #{mod\ 1417}#)) - (#{f\ 1447}# - (cdr #{forms\ 1448}#))))))) - (begin - (#{f\ 1447}# - #{e1\ 1444}#))) - #{ids\ 1399}# - #{labels\ 1400}# - #{var-ids\ 1401}# - #{vars\ 1402}# - #{vals\ 1403}# - #{bindings\ 1404}#)) - #{tmp\ 1440}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1439}#)))) - (if (eqv? #{type\ 1412}# - 'local-syntax-form) - (#{chi-local-syntax\ 482}# - #{value\ 1413}# - #{e\ 1414}# - #{er\ 1410}# - #{w\ 1415}# - #{s\ 1416}# - #{mod\ 1417}# - (lambda (#{forms\ 1451}# - #{er\ 1452}# - #{w\ 1453}# - #{s\ 1454}# - #{mod\ 1455}#) - (#{parse\ 1397}# - (letrec* - ((#{f\ 1463}# - (lambda (#{forms\ 1464}#) - (if (null? #{forms\ 1464}#) - (cdr #{body\ 1398}#) - (cons (cons #{er\ 1452}# - (#{wrap\ 456}# - (car #{forms\ 1464}#) - #{w\ 1453}# - #{mod\ 1455}#)) - (#{f\ 1463}# - (cdr #{forms\ 1464}#))))))) - (begin - (#{f\ 1463}# - #{forms\ 1451}#))) - #{ids\ 1399}# - #{labels\ 1400}# - #{var-ids\ 1401}# - #{vars\ 1402}# - #{vals\ 1403}# - #{bindings\ 1404}#))) - (if (null? #{ids\ 1399}#) - (#{build-sequence\ 339}# - #f - (map (lambda (#{x\ 1467}#) - (#{chi\ 472}# - (cdr #{x\ 1467}#) - (car #{x\ 1467}#) - '(()) - #{mod\ 1417}#)) - (cons (cons #{er\ 1410}# - (#{source-wrap\ 458}# - #{e\ 1414}# - #{w\ 1415}# - #{s\ 1416}# - #{mod\ 1417}#)) - (cdr #{body\ 1398}#)))) - (begin - (if (not (#{valid-bound-ids?\ 450}# - #{ids\ 1399}#)) - (syntax-violation - #f - "invalid or duplicate identifier in definition" - #{outer-form\ 1372}#)) - (letrec* - ((#{loop\ 1474}# - (lambda (#{bs\ 1475}# - #{er-cache\ 1476}# - #{r-cache\ 1477}#) - (if (not (null? #{bs\ 1475}#)) - (begin - (let ((#{b\ 1480}# - (car #{bs\ 1475}#))) - (if (eq? (car #{b\ 1480}#) - 'macro) - (begin - (let ((#{er\ 1483}# - (car (cdr #{b\ 1480}#)))) - (begin - (let ((#{r-cache\ 1485}# - (if (eq? #{er\ 1483}# - #{er-cache\ 1476}#) - #{r-cache\ 1477}# - (#{macros-only-env\ 379}# - #{er\ 1483}#)))) - (begin - (set-cdr! - #{b\ 1480}# - (#{eval-local-transformer\ 484}# - (#{chi\ 472}# - (cdr (cdr #{b\ 1480}#)) - #{r-cache\ 1485}# - '(()) - #{mod\ 1417}#) - #{mod\ 1417}#)) - (#{loop\ 1474}# - (cdr #{bs\ 1475}#) - #{er\ 1483}# - #{r-cache\ 1485}#)))))) - (#{loop\ 1474}# - (cdr #{bs\ 1475}#) - #{er-cache\ 1476}# - #{r-cache\ 1477}#)))))))) - (begin - (#{loop\ 1474}# - #{bindings\ 1404}# - #f - #f))) - (set-cdr! - #{r\ 1383}# - (#{extend-env\ 375}# - #{labels\ 1400}# - #{bindings\ 1404}# - (cdr #{r\ 1383}#))) - (#{build-letrec\ 345}# - #f - #t - (map syntax->datum - #{var-ids\ 1401}#) - #{vars\ 1402}# - (map (lambda (#{x\ 1488}#) - (#{chi\ 472}# - (cdr #{x\ 1488}#) - (car #{x\ 1488}#) - '(()) - #{mod\ 1417}#)) - #{vals\ 1403}#) - (#{build-sequence\ 339}# - #f - (map (lambda (#{x\ 1492}#) - (#{chi\ 472}# - (cdr #{x\ 1492}#) - (car #{x\ 1492}#) - '(()) - #{mod\ 1417}#)) - (cons (cons #{er\ 1410}# - (#{source-wrap\ 458}# - #{e\ 1414}# - #{w\ 1415}# - #{s\ 1416}# - #{mod\ 1417}#)) - (cdr #{body\ 1398}#))))))))))))))))))) - (begin - (#{parse\ 1397}# - (map (lambda (#{x\ 1405}#) - (cons #{r\ 1383}# - (#{wrap\ 456}# - #{x\ 1405}# - #{w\ 1388}# - #{mod\ 1375}#))) - #{body\ 1371}#) - '() - '() - '() - '() - '() - '()))))))))))) - (#{chi-macro\ 478}# - (lambda (#{p\ 1495}# - #{e\ 1496}# - #{r\ 1497}# - #{w\ 1498}# - #{s\ 1499}# - #{rib\ 1500}# - #{mod\ 1501}#) - (letrec* - ((#{rebuild-macro-output\ 1510}# - (lambda (#{x\ 1511}# #{m\ 1512}#) - (if (pair? #{x\ 1511}#) - (#{decorate-source\ 305}# - (cons (#{rebuild-macro-output\ 1510}# - (car #{x\ 1511}#) - #{m\ 1512}#) - (#{rebuild-macro-output\ 1510}# - (cdr #{x\ 1511}#) - #{m\ 1512}#)) - #{s\ 1499}#) - (if (#{syntax-object?\ 351}# #{x\ 1511}#) - (begin - (let ((#{w\ 1520}# - (#{syntax-object-wrap\ 355}# #{x\ 1511}#))) - (begin - (let ((#{ms\ 1523}# - (#{wrap-marks\ 394}# #{w\ 1520}#)) - (#{s\ 1524}# - (#{wrap-subst\ 396}# #{w\ 1520}#))) - (if (if (pair? #{ms\ 1523}#) - (eq? (car #{ms\ 1523}#) #f) - #f) - (#{make-syntax-object\ 349}# - (#{syntax-object-expression\ 353}# - #{x\ 1511}#) - (#{make-wrap\ 392}# - (cdr #{ms\ 1523}#) - (if #{rib\ 1500}# - (cons #{rib\ 1500}# (cdr #{s\ 1524}#)) - (cdr #{s\ 1524}#))) - (#{syntax-object-module\ 357}# - #{x\ 1511}#)) - (#{make-syntax-object\ 349}# - (#{decorate-source\ 305}# - (#{syntax-object-expression\ 353}# - #{x\ 1511}#) - #{s\ 1524}#) - (#{make-wrap\ 392}# - (cons #{m\ 1512}# #{ms\ 1523}#) - (if #{rib\ 1500}# - (cons #{rib\ 1500}# - (cons (quote shift) #{s\ 1524}#)) - (cons (quote shift) #{s\ 1524}#))) - (#{syntax-object-module\ 357}# - #{x\ 1511}#))))))) - (if (vector? #{x\ 1511}#) - (begin - (let ((#{n\ 1532}# (vector-length #{x\ 1511}#))) - (begin - (let ((#{v\ 1534}# - (#{decorate-source\ 305}# - (make-vector #{n\ 1532}#) - #{x\ 1511}#))) - (letrec* - ((#{loop\ 1537}# - (lambda (#{i\ 1538}#) - (if (#{fx=\ 292}# - #{i\ 1538}# - #{n\ 1532}#) - (begin (if #f #f) #{v\ 1534}#) - (begin - (vector-set! - #{v\ 1534}# - #{i\ 1538}# - (#{rebuild-macro-output\ 1510}# - (vector-ref - #{x\ 1511}# - #{i\ 1538}#) - #{m\ 1512}#)) - (#{loop\ 1537}# - (#{fx+\ 288}# - #{i\ 1538}# - 1))))))) - (begin (#{loop\ 1537}# 0))))))) - (if (symbol? #{x\ 1511}#) - (syntax-violation - #f - "encountered raw symbol in macro output" - (#{source-wrap\ 458}# - #{e\ 1496}# - #{w\ 1498}# - (#{wrap-subst\ 396}# #{w\ 1498}#) - #{mod\ 1501}#) - #{x\ 1511}#) - (#{decorate-source\ 305}# - #{x\ 1511}# - #{s\ 1499}#)))))))) - (begin - (#{rebuild-macro-output\ 1510}# - (#{p\ 1495}# - (#{source-wrap\ 458}# - #{e\ 1496}# - (#{anti-mark\ 428}# #{w\ 1498}#) - #{s\ 1499}# - #{mod\ 1501}#)) - (gensym "m")))))) - (#{chi-application\ 476}# - (lambda (#{x\ 1545}# - #{e\ 1546}# - #{r\ 1547}# - #{w\ 1548}# - #{s\ 1549}# - #{mod\ 1550}#) - (let ((#{tmp\ 1557}# #{e\ 1546}#)) - (let ((#{tmp\ 1558}# - ($sc-dispatch - #{tmp\ 1557}# - '(any . each-any)))) - (if #{tmp\ 1558}# - (@apply - (lambda (#{e0\ 1561}# #{e1\ 1562}#) - (#{build-application\ 309}# - #{s\ 1549}# - #{x\ 1545}# - (map (lambda (#{e\ 1563}#) - (#{chi\ 472}# - #{e\ 1563}# - #{r\ 1547}# - #{w\ 1548}# - #{mod\ 1550}#)) - #{e1\ 1562}#))) - #{tmp\ 1558}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1557}#)))))) - (#{chi-expr\ 474}# - (lambda (#{type\ 1566}# - #{value\ 1567}# - #{e\ 1568}# - #{r\ 1569}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#) - (if (eqv? #{type\ 1566}# (quote lexical)) - (#{build-lexical-reference\ 315}# - 'value - #{s\ 1571}# - #{e\ 1568}# - #{value\ 1567}#) - (if (if (eqv? #{type\ 1566}# (quote core)) - #t - (eqv? #{type\ 1566}# (quote core-form))) - (#{value\ 1567}# - #{e\ 1568}# - #{r\ 1569}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#) - (if (eqv? #{type\ 1566}# (quote module-ref)) - (call-with-values - (lambda () - (#{value\ 1567}# - #{e\ 1568}# - #{r\ 1569}# - #{w\ 1570}#)) - (lambda (#{e\ 1583}# - #{r\ 1584}# - #{w\ 1585}# - #{s\ 1586}# - #{mod\ 1587}#) - (#{chi\ 472}# - #{e\ 1583}# - #{r\ 1584}# - #{w\ 1585}# - #{mod\ 1587}#))) - (if (eqv? #{type\ 1566}# (quote lexical-call)) - (#{chi-application\ 476}# - (begin - (let ((#{id\ 1595}# (car #{e\ 1568}#))) + (#{maybe-name-value!\ 325}# + #{f-name\ 1067}# + #{proc\ 1071}#) + (for-each + #{maybe-name-value!\ 325}# + #{ids\ 1069}# + #{val-exps\ 1055}#) + (#{make-letrec\ 277}# + #{src\ 1052}# + #f + (list #{f-name\ 1067}#) + (list #{f\ 1066}#) + (list #{proc\ 1071}#) + (#{build-application\ 309}# + #{src\ 1052}# (#{build-lexical-reference\ 315}# 'fun - (#{source-annotation\ 366}# #{id\ 1595}#) - (if (#{syntax-object?\ 351}# #{id\ 1595}#) - (syntax->datum #{id\ 1595}#) - #{id\ 1595}#) - #{value\ 1567}#))) - #{e\ 1568}# - #{r\ 1569}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#) - (if (eqv? #{type\ 1566}# (quote global-call)) - (#{chi-application\ 476}# - (#{build-global-reference\ 321}# - (#{source-annotation\ 366}# (car #{e\ 1568}#)) - (if (#{syntax-object?\ 351}# #{value\ 1567}#) - (#{syntax-object-expression\ 353}# - #{value\ 1567}#) - #{value\ 1567}#) - (if (#{syntax-object?\ 351}# #{value\ 1567}#) - (#{syntax-object-module\ 357}# #{value\ 1567}#) - #{mod\ 1572}#)) - #{e\ 1568}# - #{r\ 1569}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#) - (if (eqv? #{type\ 1566}# (quote constant)) - (#{build-data\ 337}# - #{s\ 1571}# - (#{strip\ 498}# - (#{source-wrap\ 458}# - #{e\ 1568}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#) - '(()))) - (if (eqv? #{type\ 1566}# (quote global)) - (#{build-global-reference\ 321}# - #{s\ 1571}# - #{value\ 1567}# - #{mod\ 1572}#) - (if (eqv? #{type\ 1566}# (quote call)) - (#{chi-application\ 476}# - (#{chi\ 472}# - (car #{e\ 1568}#) - #{r\ 1569}# - #{w\ 1570}# - #{mod\ 1572}#) - #{e\ 1568}# - #{r\ 1569}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#) - (if (eqv? #{type\ 1566}# (quote begin-form)) - (let ((#{tmp\ 1602}# #{e\ 1568}#)) - (let ((#{tmp\ 1603}# - ($sc-dispatch - #{tmp\ 1602}# - '(any any . each-any)))) - (if #{tmp\ 1603}# - (@apply - (lambda (#{_\ 1607}# - #{e1\ 1608}# - #{e2\ 1609}#) - (#{chi-sequence\ 460}# - (cons #{e1\ 1608}# #{e2\ 1609}#) - #{r\ 1569}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#)) - #{tmp\ 1603}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1602}#)))) - (if (eqv? #{type\ 1566}# - 'local-syntax-form) - (#{chi-local-syntax\ 482}# - #{value\ 1567}# - #{e\ 1568}# - #{r\ 1569}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}# - #{chi-sequence\ 460}#) - (if (eqv? #{type\ 1566}# - 'eval-when-form) - (let ((#{tmp\ 1613}# #{e\ 1568}#)) - (let ((#{tmp\ 1614}# - ($sc-dispatch - #{tmp\ 1613}# - '(any each-any - any - . - each-any)))) - (if #{tmp\ 1614}# - (@apply - (lambda (#{_\ 1619}# - #{x\ 1620}# - #{e1\ 1621}# - #{e2\ 1622}#) - (begin - (let ((#{when-list\ 1624}# - (#{chi-when-list\ 466}# - #{e\ 1568}# - #{x\ 1620}# - #{w\ 1570}#))) - (if (memq 'eval - #{when-list\ 1624}#) - (#{chi-sequence\ 460}# - (cons #{e1\ 1621}# - #{e2\ 1622}#) - #{r\ 1569}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#) - (#{chi-void\ 486}#))))) - #{tmp\ 1614}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1613}#)))) - (if (if (eqv? #{type\ 1566}# - 'define-form) - #t - (eqv? #{type\ 1566}# - 'define-syntax-form)) - (syntax-violation - #f - "definition in expression context" - #{e\ 1568}# - (#{wrap\ 456}# - #{value\ 1567}# - #{w\ 1570}# - #{mod\ 1572}#)) - (if (eqv? #{type\ 1566}# (quote syntax)) - (syntax-violation - #f - "reference to pattern variable outside syntax form" - (#{source-wrap\ 458}# - #{e\ 1568}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#)) - (if (eqv? #{type\ 1566}# - 'displaced-lexical) - (syntax-violation - #f - "reference to identifier outside its scope" - (#{source-wrap\ 458}# - #{e\ 1568}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#)) - (syntax-violation - #f - "unexpected syntax" - (#{source-wrap\ 458}# - #{e\ 1568}# - #{w\ 1570}# - #{s\ 1571}# - #{mod\ 1572}#)))))))))))))))))) - (#{chi\ 472}# - (lambda (#{e\ 1631}# - #{r\ 1632}# - #{w\ 1633}# - #{mod\ 1634}#) - (call-with-values - (lambda () - (#{syntax-type\ 468}# - #{e\ 1631}# - #{r\ 1632}# - #{w\ 1633}# - (#{source-annotation\ 366}# #{e\ 1631}#) - #f - #{mod\ 1634}# - #f)) - (lambda (#{type\ 1639}# - #{value\ 1640}# - #{e\ 1641}# - #{w\ 1642}# - #{s\ 1643}# - #{mod\ 1644}#) - (#{chi-expr\ 474}# - #{type\ 1639}# - #{value\ 1640}# - #{e\ 1641}# - #{r\ 1632}# - #{w\ 1642}# - #{s\ 1643}# - #{mod\ 1644}#))))) - (#{chi-top\ 470}# - (lambda (#{e\ 1651}# - #{r\ 1652}# - #{w\ 1653}# - #{m\ 1654}# - #{esew\ 1655}# - #{mod\ 1656}#) - (call-with-values - (lambda () - (#{syntax-type\ 468}# - #{e\ 1651}# - #{r\ 1652}# - #{w\ 1653}# - (#{source-annotation\ 366}# #{e\ 1651}#) - #f - #{mod\ 1656}# - #f)) - (lambda (#{type\ 1677}# - #{value\ 1678}# - #{e\ 1679}# - #{w\ 1680}# - #{s\ 1681}# - #{mod\ 1682}#) - (if (eqv? #{type\ 1677}# (quote begin-form)) - (let ((#{tmp\ 1690}# #{e\ 1679}#)) - (let ((#{tmp\ 1691}# - ($sc-dispatch #{tmp\ 1690}# (quote (any))))) - (if #{tmp\ 1691}# - (@apply - (lambda (#{_\ 1693}#) (#{chi-void\ 486}#)) - #{tmp\ 1691}#) - (let ((#{tmp\ 1694}# - ($sc-dispatch - #{tmp\ 1690}# - '(any any . each-any)))) - (if #{tmp\ 1694}# - (@apply - (lambda (#{_\ 1698}# #{e1\ 1699}# #{e2\ 1700}#) - (#{chi-top-sequence\ 462}# - (cons #{e1\ 1699}# #{e2\ 1700}#) - #{r\ 1652}# - #{w\ 1680}# - #{s\ 1681}# - #{m\ 1654}# - #{esew\ 1655}# - #{mod\ 1682}#)) - #{tmp\ 1694}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1690}#)))))) - (if (eqv? #{type\ 1677}# (quote local-syntax-form)) - (#{chi-local-syntax\ 482}# - #{value\ 1678}# - #{e\ 1679}# - #{r\ 1652}# - #{w\ 1680}# - #{s\ 1681}# - #{mod\ 1682}# - (lambda (#{body\ 1703}# - #{r\ 1704}# - #{w\ 1705}# - #{s\ 1706}# - #{mod\ 1707}#) - (#{chi-top-sequence\ 462}# - #{body\ 1703}# - #{r\ 1704}# - #{w\ 1705}# - #{s\ 1706}# - #{m\ 1654}# - #{esew\ 1655}# - #{mod\ 1707}#))) - (if (eqv? #{type\ 1677}# (quote eval-when-form)) - (let ((#{tmp\ 1714}# #{e\ 1679}#)) - (let ((#{tmp\ 1715}# - ($sc-dispatch - #{tmp\ 1714}# - '(any each-any any . each-any)))) - (if #{tmp\ 1715}# - (@apply - (lambda (#{_\ 1720}# - #{x\ 1721}# - #{e1\ 1722}# - #{e2\ 1723}#) - (begin - (let ((#{when-list\ 1726}# - (#{chi-when-list\ 466}# - #{e\ 1679}# - #{x\ 1721}# - #{w\ 1680}#)) - (#{body\ 1727}# - (cons #{e1\ 1722}# #{e2\ 1723}#))) - (if (eq? #{m\ 1654}# (quote e)) - (if (memq 'eval - #{when-list\ 1726}#) - (#{chi-top-sequence\ 462}# - #{body\ 1727}# - #{r\ 1652}# - #{w\ 1680}# - #{s\ 1681}# - (if (memq 'expand - #{when-list\ 1726}#) - 'c&e - 'e) - '(eval) - #{mod\ 1682}#) - (begin - (if (memq 'expand - #{when-list\ 1726}#) - (#{top-level-eval-hook\ 296}# - (#{chi-top-sequence\ 462}# - #{body\ 1727}# - #{r\ 1652}# - #{w\ 1680}# - #{s\ 1681}# - 'e - '(eval) - #{mod\ 1682}#) - #{mod\ 1682}#)) - (#{chi-void\ 486}#))) - (if (memq 'load - #{when-list\ 1726}#) - (if (begin - (let ((#{t\ 1736}# - (memq 'compile - #{when-list\ 1726}#))) - (if #{t\ 1736}# - #{t\ 1736}# - (begin - (let ((#{t\ 1739}# - (memq 'expand - #{when-list\ 1726}#))) - (if #{t\ 1739}# - #{t\ 1739}# - (if (eq? #{m\ 1654}# - 'c&e) - (memq 'eval - #{when-list\ 1726}#) - #f))))))) - (#{chi-top-sequence\ 462}# - #{body\ 1727}# - #{r\ 1652}# - #{w\ 1680}# - #{s\ 1681}# - 'c&e - '(compile load) - #{mod\ 1682}#) - (if (if (eq? #{m\ 1654}# (quote c)) - #t - (eq? #{m\ 1654}# (quote c&e))) - (#{chi-top-sequence\ 462}# - #{body\ 1727}# - #{r\ 1652}# - #{w\ 1680}# - #{s\ 1681}# - 'c - '(load) - #{mod\ 1682}#) - (#{chi-void\ 486}#))) - (if (begin - (let ((#{t\ 1747}# - (memq 'compile - #{when-list\ 1726}#))) - (if #{t\ 1747}# - #{t\ 1747}# - (begin - (let ((#{t\ 1750}# - (memq 'expand - #{when-list\ 1726}#))) - (if #{t\ 1750}# - #{t\ 1750}# - (if (eq? #{m\ 1654}# - 'c&e) - (memq 'eval - #{when-list\ 1726}#) - #f))))))) - (begin - (#{top-level-eval-hook\ 296}# - (#{chi-top-sequence\ 462}# - #{body\ 1727}# - #{r\ 1652}# - #{w\ 1680}# - #{s\ 1681}# - 'e - '(eval) - #{mod\ 1682}#) - #{mod\ 1682}#) - (#{chi-void\ 486}#)) - (#{chi-void\ 486}#))))))) - #{tmp\ 1715}#) - (syntax-violation - #f - "source expression failed to match any pattern" - #{tmp\ 1714}#)))) - (if (eqv? #{type\ 1677}# (quote define-syntax-form)) - (begin - (let ((#{n\ 1758}# - (#{id-var-name\ 444}# - #{value\ 1678}# - #{w\ 1680}#)) - (#{r\ 1759}# - (#{macros-only-env\ 379}# #{r\ 1652}#))) - (if (eqv? #{m\ 1654}# (quote c)) - (if (memq (quote compile) #{esew\ 1655}#) - (begin - (let ((#{e\ 1762}# - (#{chi-install-global\ 464}# - #{n\ 1758}# - (#{chi\ 472}# - #{e\ 1679}# - #{r\ 1759}# - #{w\ 1680}# - #{mod\ 1682}#)))) - (begin - (#{top-level-eval-hook\ 296}# - #{e\ 1762}# - #{mod\ 1682}#) - (if (memq (quote load) #{esew\ 1655}#) - #{e\ 1762}# - (#{chi-void\ 486}#))))) - (if (memq (quote load) #{esew\ 1655}#) - (#{chi-install-global\ 464}# - #{n\ 1758}# - (#{chi\ 472}# - #{e\ 1679}# - #{r\ 1759}# - #{w\ 1680}# - #{mod\ 1682}#)) - (#{chi-void\ 486}#))) - (if (eqv? #{m\ 1654}# (quote c&e)) - (begin - (let ((#{e\ 1765}# - (#{chi-install-global\ 464}# - #{n\ 1758}# - (#{chi\ 472}# - #{e\ 1679}# - #{r\ 1759}# - #{w\ 1680}# - #{mod\ 1682}#)))) - (begin - (#{top-level-eval-hook\ 296}# - #{e\ 1765}# - #{mod\ 1682}#) - #{e\ 1765}#))) - (begin - (if (memq (quote eval) #{esew\ 1655}#) - (#{top-level-eval-hook\ 296}# - (#{chi-install-global\ 464}# - #{n\ 1758}# - (#{chi\ 472}# - #{e\ 1679}# - #{r\ 1759}# - #{w\ 1680}# - #{mod\ 1682}#)) - #{mod\ 1682}#)) - (#{chi-void\ 486}#)))))) - (if (eqv? #{type\ 1677}# (quote define-form)) - (begin - (let ((#{n\ 1770}# - (#{id-var-name\ 444}# - #{value\ 1678}# - #{w\ 1680}#))) - (begin - (let ((#{type\ 1772}# - (#{binding-type\ 370}# - (#{lookup\ 381}# - #{n\ 1770}# - #{r\ 1652}# - #{mod\ 1682}#)))) - (if (if (eqv? #{type\ 1772}# (quote global)) - #t - (if (eqv? #{type\ 1772}# (quote core)) - #t - (if (eqv? #{type\ 1772}# - 'macro) - #t - (eqv? #{type\ 1772}# - 'module-ref)))) - (begin - (if (if (if (eq? #{m\ 1654}# (quote c)) - #t - (eq? #{m\ 1654}# (quote c&e))) - (if (not (module-local-variable - (current-module) - #{n\ 1770}#)) - (current-module) - #f) - #f) - (begin - (let ((#{old\ 1778}# - (module-variable - (current-module) - #{n\ 1770}#))) - (module-define! - (current-module) - #{n\ 1770}# - (if (variable? #{old\ 1778}#) - (variable-ref #{old\ 1778}#) - #f))))) - (begin - (let ((#{x\ 1781}# - (#{build-global-definition\ 327}# - #{s\ 1681}# - #{n\ 1770}# - (#{chi\ 472}# - #{e\ 1679}# - #{r\ 1652}# - #{w\ 1680}# - #{mod\ 1682}#)))) - (begin - (if (eq? #{m\ 1654}# (quote c&e)) - (#{top-level-eval-hook\ 296}# - #{x\ 1781}# - #{mod\ 1682}#)) - #{x\ 1781}#)))) - (if (eqv? #{type\ 1772}# - 'displaced-lexical) - (syntax-violation - #f - "identifier out of context" - #{e\ 1679}# - (#{wrap\ 456}# - #{value\ 1678}# - #{w\ 1680}# - #{mod\ 1682}#)) - (syntax-violation - #f - "cannot define keyword at top level" - #{e\ 1679}# - (#{wrap\ 456}# - #{value\ 1678}# - #{w\ 1680}# - #{mod\ 1682}#)))))))) - (begin - (let ((#{x\ 1787}# - (#{chi-expr\ 474}# - #{type\ 1677}# - #{value\ 1678}# - #{e\ 1679}# - #{r\ 1652}# - #{w\ 1680}# - #{s\ 1681}# - #{mod\ 1682}#))) - (begin - (if (eq? #{m\ 1654}# (quote c&e)) - (#{top-level-eval-hook\ 296}# - #{x\ 1787}# - #{mod\ 1682}#)) - #{x\ 1787}#)))))))))))) - (#{syntax-type\ 468}# - (lambda (#{e\ 1788}# - #{r\ 1789}# - #{w\ 1790}# - #{s\ 1791}# - #{rib\ 1792}# - #{mod\ 1793}# - #{for-car?\ 1794}#) - (if (symbol? #{e\ 1788}#) + #{src\ 1052}# + #{f-name\ 1067}# + #{f\ 1066}#) + #{val-exps\ 1055}#))))))))) + (#{build-letrec\ 345}# + (lambda (#{src\ 1072}# + #{in-order?\ 1073}# + #{ids\ 1074}# + #{vars\ 1075}# + #{val-exps\ 1076}# + #{body-exp\ 1077}#) + (if (null? #{vars\ 1075}#) + #{body-exp\ 1077}# (begin - (let ((#{n\ 1806}# - (#{id-var-name\ 444}# #{e\ 1788}# #{w\ 1790}#))) - (begin - (let ((#{b\ 1808}# - (#{lookup\ 381}# - #{n\ 1806}# - #{r\ 1789}# - #{mod\ 1793}#))) - (begin - (let ((#{type\ 1810}# - (#{binding-type\ 370}# #{b\ 1808}#))) - (if (eqv? #{type\ 1810}# (quote lexical)) - (values - #{type\ 1810}# - (#{binding-value\ 372}# #{b\ 1808}#) - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) - (if (eqv? #{type\ 1810}# (quote global)) + (for-each + #{maybe-name-value!\ 325}# + #{ids\ 1074}# + #{val-exps\ 1076}#) + (#{make-letrec\ 277}# + #{src\ 1072}# + #{in-order?\ 1073}# + #{ids\ 1074}# + #{vars\ 1075}# + #{val-exps\ 1076}# + #{body-exp\ 1077}#))))) + (#{make-syntax-object\ 349}# + (lambda (#{expression\ 1084}# + #{wrap\ 1085}# + #{module\ 1086}#) + (vector + 'syntax-object + #{expression\ 1084}# + #{wrap\ 1085}# + #{module\ 1086}#))) + (#{syntax-object?\ 351}# + (lambda (#{x\ 1090}#) + (if (vector? #{x\ 1090}#) + (if (= (vector-length #{x\ 1090}#) 4) + (eq? (vector-ref #{x\ 1090}# 0) + 'syntax-object) + #f) + #f))) + (#{syntax-object-expression\ 353}# + (lambda (#{x\ 1095}#) (vector-ref #{x\ 1095}# 1))) + (#{syntax-object-wrap\ 355}# + (lambda (#{x\ 1097}#) (vector-ref #{x\ 1097}# 2))) + (#{syntax-object-module\ 357}# + (lambda (#{x\ 1099}#) (vector-ref #{x\ 1099}# 3))) + (#{source-annotation\ 366}# + (lambda (#{x\ 1113}#) + (if (#{syntax-object?\ 351}# #{x\ 1113}#) + (#{source-annotation\ 366}# + (#{syntax-object-expression\ 353}# #{x\ 1113}#)) + (if (pair? #{x\ 1113}#) + (begin + (let ((#{props\ 1120}# (source-properties #{x\ 1113}#))) + (if (pair? #{props\ 1120}#) #{props\ 1120}# #f))) + #f)))) + (#{extend-env\ 375}# + (lambda (#{labels\ 1122}# #{bindings\ 1123}# #{r\ 1124}#) + (if (null? #{labels\ 1122}#) + #{r\ 1124}# + (#{extend-env\ 375}# + (cdr #{labels\ 1122}#) + (cdr #{bindings\ 1123}#) + (cons (cons (car #{labels\ 1122}#) + (car #{bindings\ 1123}#)) + #{r\ 1124}#))))) + (#{extend-var-env\ 377}# + (lambda (#{labels\ 1128}# #{vars\ 1129}# #{r\ 1130}#) + (if (null? #{labels\ 1128}#) + #{r\ 1130}# + (#{extend-var-env\ 377}# + (cdr #{labels\ 1128}#) + (cdr #{vars\ 1129}#) + (cons (cons (car #{labels\ 1128}#) + (cons (quote lexical) (car #{vars\ 1129}#))) + #{r\ 1130}#))))) + (#{macros-only-env\ 379}# + (lambda (#{r\ 1135}#) + (if (null? #{r\ 1135}#) + '() + (begin + (let ((#{a\ 1138}# (car #{r\ 1135}#))) + (if (eq? (car (cdr #{a\ 1138}#)) (quote macro)) + (cons #{a\ 1138}# + (#{macros-only-env\ 379}# (cdr #{r\ 1135}#))) + (#{macros-only-env\ 379}# (cdr #{r\ 1135}#)))))))) + (#{lookup\ 381}# + (lambda (#{x\ 1139}# #{r\ 1140}# #{mod\ 1141}#) + (begin + (let ((#{t\ 1147}# (assq #{x\ 1139}# #{r\ 1140}#))) + (if #{t\ 1147}# + (cdr #{t\ 1147}#) + (if (symbol? #{x\ 1139}#) + (begin + (let ((#{t\ 1153}# + (#{get-global-definition-hook\ 303}# + #{x\ 1139}# + #{mod\ 1141}#))) + (if #{t\ 1153}# #{t\ 1153}# (quote (global))))) + '(displaced-lexical))))))) + (#{global-extend\ 383}# + (lambda (#{type\ 1158}# #{sym\ 1159}# #{val\ 1160}#) + (#{put-global-definition-hook\ 301}# + #{sym\ 1159}# + #{type\ 1158}# + #{val\ 1160}#))) + (#{nonsymbol-id?\ 385}# + (lambda (#{x\ 1164}#) + (if (#{syntax-object?\ 351}# #{x\ 1164}#) + (symbol? + (#{syntax-object-expression\ 353}# #{x\ 1164}#)) + #f))) + (#{id?\ 387}# + (lambda (#{x\ 1168}#) + (if (symbol? #{x\ 1168}#) + #t + (if (#{syntax-object?\ 351}# #{x\ 1168}#) + (symbol? + (#{syntax-object-expression\ 353}# #{x\ 1168}#)) + #f)))) + (#{id-sym-name&marks\ 390}# + (lambda (#{x\ 1175}# #{w\ 1176}#) + (if (#{syntax-object?\ 351}# #{x\ 1175}#) + (values + (#{syntax-object-expression\ 353}# #{x\ 1175}#) + (#{join-marks\ 440}# + (#{wrap-marks\ 394}# #{w\ 1176}#) + (#{wrap-marks\ 394}# + (#{syntax-object-wrap\ 355}# #{x\ 1175}#)))) + (values + #{x\ 1175}# + (#{wrap-marks\ 394}# #{w\ 1176}#))))) + (#{gen-label\ 403}# + (lambda () (symbol->string (gensym "i")))) + (#{gen-labels\ 405}# + (lambda (#{ls\ 1179}#) + (if (null? #{ls\ 1179}#) + '() + (cons (#{gen-label\ 403}#) + (#{gen-labels\ 405}# (cdr #{ls\ 1179}#)))))) + (#{make-ribcage\ 408}# + (lambda (#{symnames\ 1181}# + #{marks\ 1182}# + #{labels\ 1183}#) + (vector + 'ribcage + #{symnames\ 1181}# + #{marks\ 1182}# + #{labels\ 1183}#))) + (#{ribcage-symnames\ 412}# + (lambda (#{x\ 1192}#) (vector-ref #{x\ 1192}# 1))) + (#{ribcage-marks\ 414}# + (lambda (#{x\ 1194}#) (vector-ref #{x\ 1194}# 2))) + (#{ribcage-labels\ 416}# + (lambda (#{x\ 1196}#) (vector-ref #{x\ 1196}# 3))) + (#{set-ribcage-symnames!\ 418}# + (lambda (#{x\ 1198}# #{update\ 1199}#) + (vector-set! #{x\ 1198}# 1 #{update\ 1199}#))) + (#{set-ribcage-marks!\ 420}# + (lambda (#{x\ 1202}# #{update\ 1203}#) + (vector-set! #{x\ 1202}# 2 #{update\ 1203}#))) + (#{set-ribcage-labels!\ 422}# + (lambda (#{x\ 1206}# #{update\ 1207}#) + (vector-set! #{x\ 1206}# 3 #{update\ 1207}#))) + (#{anti-mark\ 428}# + (lambda (#{w\ 1210}#) + (#{make-wrap\ 392}# + (cons #f (#{wrap-marks\ 394}# #{w\ 1210}#)) + (cons 'shift + (#{wrap-subst\ 396}# #{w\ 1210}#))))) + (#{extend-ribcage!\ 432}# + (lambda (#{ribcage\ 1213}# #{id\ 1214}# #{label\ 1215}#) + (begin + (#{set-ribcage-symnames!\ 418}# + #{ribcage\ 1213}# + (cons (#{syntax-object-expression\ 353}# #{id\ 1214}#) + (#{ribcage-symnames\ 412}# #{ribcage\ 1213}#))) + (#{set-ribcage-marks!\ 420}# + #{ribcage\ 1213}# + (cons (#{wrap-marks\ 394}# + (#{syntax-object-wrap\ 355}# #{id\ 1214}#)) + (#{ribcage-marks\ 414}# #{ribcage\ 1213}#))) + (#{set-ribcage-labels!\ 422}# + #{ribcage\ 1213}# + (cons #{label\ 1215}# + (#{ribcage-labels\ 416}# #{ribcage\ 1213}#)))))) + (#{make-binding-wrap\ 434}# + (lambda (#{ids\ 1219}# #{labels\ 1220}# #{w\ 1221}#) + (if (null? #{ids\ 1219}#) + #{w\ 1221}# + (#{make-wrap\ 392}# + (#{wrap-marks\ 394}# #{w\ 1221}#) + (cons (begin + (let ((#{labelvec\ 1226}# + (list->vector #{labels\ 1220}#))) + (begin + (let ((#{n\ 1228}# + (vector-length #{labelvec\ 1226}#))) + (begin + (let ((#{symnamevec\ 1231}# + (make-vector #{n\ 1228}#)) + (#{marksvec\ 1232}# + (make-vector #{n\ 1228}#))) + (begin + (letrec* + ((#{f\ 1236}# + (lambda (#{ids\ 1237}# #{i\ 1238}#) + (if (not (null? #{ids\ 1237}#)) + (call-with-values + (lambda () + (#{id-sym-name&marks\ 390}# + (car #{ids\ 1237}#) + #{w\ 1221}#)) + (lambda (#{symname\ 1239}# + #{marks\ 1240}#) + (begin + (vector-set! + #{symnamevec\ 1231}# + #{i\ 1238}# + #{symname\ 1239}#) + (vector-set! + #{marksvec\ 1232}# + #{i\ 1238}# + #{marks\ 1240}#) + (#{f\ 1236}# + (cdr #{ids\ 1237}#) + (#{fx+\ 288}# + #{i\ 1238}# + 1))))))))) + (begin (#{f\ 1236}# #{ids\ 1219}# 0))) + (#{make-ribcage\ 408}# + #{symnamevec\ 1231}# + #{marksvec\ 1232}# + #{labelvec\ 1226}#)))))))) + (#{wrap-subst\ 396}# #{w\ 1221}#)))))) + (#{smart-append\ 436}# + (lambda (#{m1\ 1243}# #{m2\ 1244}#) + (if (null? #{m2\ 1244}#) + #{m1\ 1243}# + (append #{m1\ 1243}# #{m2\ 1244}#)))) + (#{join-wraps\ 438}# + (lambda (#{w1\ 1247}# #{w2\ 1248}#) + (begin + (let ((#{m1\ 1253}# (#{wrap-marks\ 394}# #{w1\ 1247}#)) + (#{s1\ 1254}# (#{wrap-subst\ 396}# #{w1\ 1247}#))) + (if (null? #{m1\ 1253}#) + (if (null? #{s1\ 1254}#) + #{w2\ 1248}# + (#{make-wrap\ 392}# + (#{wrap-marks\ 394}# #{w2\ 1248}#) + (#{smart-append\ 436}# + #{s1\ 1254}# + (#{wrap-subst\ 396}# #{w2\ 1248}#)))) + (#{make-wrap\ 392}# + (#{smart-append\ 436}# + #{m1\ 1253}# + (#{wrap-marks\ 394}# #{w2\ 1248}#)) + (#{smart-append\ 436}# + #{s1\ 1254}# + (#{wrap-subst\ 396}# #{w2\ 1248}#)))))))) + (#{join-marks\ 440}# + (lambda (#{m1\ 1255}# #{m2\ 1256}#) + (#{smart-append\ 436}# #{m1\ 1255}# #{m2\ 1256}#))) + (#{same-marks?\ 442}# + (lambda (#{x\ 1259}# #{y\ 1260}#) + (begin + (let ((#{t\ 1265}# (eq? #{x\ 1259}# #{y\ 1260}#))) + (if #{t\ 1265}# + #{t\ 1265}# + (if (not (null? #{x\ 1259}#)) + (if (not (null? #{y\ 1260}#)) + (if (eq? (car #{x\ 1259}#) (car #{y\ 1260}#)) + (#{same-marks?\ 442}# + (cdr #{x\ 1259}#) + (cdr #{y\ 1260}#)) + #f) + #f) + #f)))))) + (#{id-var-name\ 444}# + (lambda (#{id\ 1271}# #{w\ 1272}#) + (letrec* + ((#{search\ 1277}# + (lambda (#{sym\ 1293}# #{subst\ 1294}# #{marks\ 1295}#) + (if (null? #{subst\ 1294}#) + (values #f #{marks\ 1295}#) + (begin + (let ((#{fst\ 1300}# (car #{subst\ 1294}#))) + (if (eq? #{fst\ 1300}# (quote shift)) + (#{search\ 1277}# + #{sym\ 1293}# + (cdr #{subst\ 1294}#) + (cdr #{marks\ 1295}#)) + (begin + (let ((#{symnames\ 1302}# + (#{ribcage-symnames\ 412}# + #{fst\ 1300}#))) + (if (vector? #{symnames\ 1302}#) + (#{search-vector-rib\ 1281}# + #{sym\ 1293}# + #{subst\ 1294}# + #{marks\ 1295}# + #{symnames\ 1302}# + #{fst\ 1300}#) + (#{search-list-rib\ 1279}# + #{sym\ 1293}# + #{subst\ 1294}# + #{marks\ 1295}# + #{symnames\ 1302}# + #{fst\ 1300}#)))))))))) + (#{search-list-rib\ 1279}# + (lambda (#{sym\ 1303}# + #{subst\ 1304}# + #{marks\ 1305}# + #{symnames\ 1306}# + #{ribcage\ 1307}#) + (letrec* + ((#{f\ 1316}# + (lambda (#{symnames\ 1317}# #{i\ 1318}#) + (if (null? #{symnames\ 1317}#) + (#{search\ 1277}# + #{sym\ 1303}# + (cdr #{subst\ 1304}#) + #{marks\ 1305}#) + (if (if (eq? (car #{symnames\ 1317}#) + #{sym\ 1303}#) + (#{same-marks?\ 442}# + #{marks\ 1305}# + (list-ref + (#{ribcage-marks\ 414}# + #{ribcage\ 1307}#) + #{i\ 1318}#)) + #f) (values - #{type\ 1810}# - #{n\ 1806}# - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) - (if (eqv? #{type\ 1810}# (quote macro)) - (if #{for-car?\ 1794}# + (list-ref + (#{ribcage-labels\ 416}# #{ribcage\ 1307}#) + #{i\ 1318}#) + #{marks\ 1305}#) + (#{f\ 1316}# + (cdr #{symnames\ 1317}#) + (#{fx+\ 288}# #{i\ 1318}# 1))))))) + (begin (#{f\ 1316}# #{symnames\ 1306}# 0))))) + (#{search-vector-rib\ 1281}# + (lambda (#{sym\ 1326}# + #{subst\ 1327}# + #{marks\ 1328}# + #{symnames\ 1329}# + #{ribcage\ 1330}#) + (begin + (let ((#{n\ 1337}# (vector-length #{symnames\ 1329}#))) + (letrec* + ((#{f\ 1340}# + (lambda (#{i\ 1341}#) + (if (#{fx=\ 292}# #{i\ 1341}# #{n\ 1337}#) + (#{search\ 1277}# + #{sym\ 1326}# + (cdr #{subst\ 1327}#) + #{marks\ 1328}#) + (if (if (eq? (vector-ref + #{symnames\ 1329}# + #{i\ 1341}#) + #{sym\ 1326}#) + (#{same-marks?\ 442}# + #{marks\ 1328}# + (vector-ref + (#{ribcage-marks\ 414}# + #{ribcage\ 1330}#) + #{i\ 1341}#)) + #f) (values - #{type\ 1810}# - (#{binding-value\ 372}# #{b\ 1808}#) - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) + (vector-ref + (#{ribcage-labels\ 416}# + #{ribcage\ 1330}#) + #{i\ 1341}#) + #{marks\ 1328}#) + (#{f\ 1340}# + (#{fx+\ 288}# #{i\ 1341}# 1))))))) + (begin (#{f\ 1340}# 0)))))))) + (begin + (if (symbol? #{id\ 1271}#) + (begin + (let ((#{t\ 1351}# + (call-with-values + (lambda () + (#{search\ 1277}# + #{id\ 1271}# + (#{wrap-subst\ 396}# #{w\ 1272}#) + (#{wrap-marks\ 394}# #{w\ 1272}#))) + (lambda (#{x\ 1353}# . #{ignore\ 1354}#) + #{x\ 1353}#)))) + (if #{t\ 1351}# #{t\ 1351}# #{id\ 1271}#))) + (if (#{syntax-object?\ 351}# #{id\ 1271}#) + (begin + (let ((#{id\ 1362}# + (#{syntax-object-expression\ 353}# + #{id\ 1271}#)) + (#{w1\ 1363}# + (#{syntax-object-wrap\ 355}# #{id\ 1271}#))) + (begin + (let ((#{marks\ 1365}# + (#{join-marks\ 440}# + (#{wrap-marks\ 394}# #{w\ 1272}#) + (#{wrap-marks\ 394}# #{w1\ 1363}#)))) + (call-with-values + (lambda () + (#{search\ 1277}# + #{id\ 1362}# + (#{wrap-subst\ 396}# #{w\ 1272}#) + #{marks\ 1365}#)) + (lambda (#{new-id\ 1366}# #{marks\ 1367}#) + (begin + (let ((#{t\ 1372}# #{new-id\ 1366}#)) + (if #{t\ 1372}# + #{t\ 1372}# + (begin + (let ((#{t\ 1375}# + (call-with-values + (lambda () + (#{search\ 1277}# + #{id\ 1362}# + (#{wrap-subst\ 396}# + #{w1\ 1363}#) + #{marks\ 1367}#)) + (lambda (#{x\ 1377}# + . + #{ignore\ 1378}#) + #{x\ 1377}#)))) + (if #{t\ 1375}# + #{t\ 1375}# + #{id\ 1362}#)))))))))))) + (syntax-violation + 'id-var-name + "invalid id" + #{id\ 1271}#))))))) + (#{free-id=?\ 446}# + (lambda (#{i\ 1383}# #{j\ 1384}#) + (if (eq? (begin + (let ((#{x\ 1390}# #{i\ 1383}#)) + (if (#{syntax-object?\ 351}# #{x\ 1390}#) + (#{syntax-object-expression\ 353}# #{x\ 1390}#) + #{x\ 1390}#))) + (begin + (let ((#{x\ 1393}# #{j\ 1384}#)) + (if (#{syntax-object?\ 351}# #{x\ 1393}#) + (#{syntax-object-expression\ 353}# #{x\ 1393}#) + #{x\ 1393}#)))) + (eq? (#{id-var-name\ 444}# #{i\ 1383}# (quote (()))) + (#{id-var-name\ 444}# #{j\ 1384}# (quote (())))) + #f))) + (#{bound-id=?\ 448}# + (lambda (#{i\ 1397}# #{j\ 1398}#) + (if (if (#{syntax-object?\ 351}# #{i\ 1397}#) + (#{syntax-object?\ 351}# #{j\ 1398}#) + #f) + (if (eq? (#{syntax-object-expression\ 353}# #{i\ 1397}#) + (#{syntax-object-expression\ 353}# #{j\ 1398}#)) + (#{same-marks?\ 442}# + (#{wrap-marks\ 394}# + (#{syntax-object-wrap\ 355}# #{i\ 1397}#)) + (#{wrap-marks\ 394}# + (#{syntax-object-wrap\ 355}# #{j\ 1398}#))) + #f) + (eq? #{i\ 1397}# #{j\ 1398}#)))) + (#{valid-bound-ids?\ 450}# + (lambda (#{ids\ 1405}#) + (if (letrec* + ((#{all-ids?\ 1410}# + (lambda (#{ids\ 1411}#) + (begin + (let ((#{t\ 1414}# (null? #{ids\ 1411}#))) + (if #{t\ 1414}# + #{t\ 1414}# + (if (#{id?\ 387}# (car #{ids\ 1411}#)) + (#{all-ids?\ 1410}# (cdr #{ids\ 1411}#)) + #f))))))) + (begin (#{all-ids?\ 1410}# #{ids\ 1405}#))) + (#{distinct-bound-ids?\ 452}# #{ids\ 1405}#) + #f))) + (#{distinct-bound-ids?\ 452}# + (lambda (#{ids\ 1419}#) + (letrec* + ((#{distinct?\ 1423}# + (lambda (#{ids\ 1424}#) + (begin + (let ((#{t\ 1427}# (null? #{ids\ 1424}#))) + (if #{t\ 1427}# + #{t\ 1427}# + (if (not (#{bound-id-member?\ 454}# + (car #{ids\ 1424}#) + (cdr #{ids\ 1424}#))) + (#{distinct?\ 1423}# (cdr #{ids\ 1424}#)) + #f))))))) + (begin (#{distinct?\ 1423}# #{ids\ 1419}#))))) + (#{bound-id-member?\ 454}# + (lambda (#{x\ 1431}# #{list\ 1432}#) + (if (not (null? #{list\ 1432}#)) + (begin + (let ((#{t\ 1439}# + (#{bound-id=?\ 448}# + #{x\ 1431}# + (car #{list\ 1432}#)))) + (if #{t\ 1439}# + #{t\ 1439}# + (#{bound-id-member?\ 454}# + #{x\ 1431}# + (cdr #{list\ 1432}#))))) + #f))) + (#{wrap\ 456}# + (lambda (#{x\ 1441}# #{w\ 1442}# #{defmod\ 1443}#) + (if (if (null? (#{wrap-marks\ 394}# #{w\ 1442}#)) + (null? (#{wrap-subst\ 396}# #{w\ 1442}#)) + #f) + #{x\ 1441}# + (if (#{syntax-object?\ 351}# #{x\ 1441}#) + (#{make-syntax-object\ 349}# + (#{syntax-object-expression\ 353}# #{x\ 1441}#) + (#{join-wraps\ 438}# + #{w\ 1442}# + (#{syntax-object-wrap\ 355}# #{x\ 1441}#)) + (#{syntax-object-module\ 357}# #{x\ 1441}#)) + (if (null? #{x\ 1441}#) + #{x\ 1441}# + (#{make-syntax-object\ 349}# + #{x\ 1441}# + #{w\ 1442}# + #{defmod\ 1443}#)))))) + (#{source-wrap\ 458}# + (lambda (#{x\ 1456}# + #{w\ 1457}# + #{s\ 1458}# + #{defmod\ 1459}#) + (#{wrap\ 456}# + (#{decorate-source\ 305}# + #{x\ 1456}# + #{s\ 1458}#) + #{w\ 1457}# + #{defmod\ 1459}#))) + (#{chi-sequence\ 460}# + (lambda (#{body\ 1464}# + #{r\ 1465}# + #{w\ 1466}# + #{s\ 1467}# + #{mod\ 1468}#) + (#{build-sequence\ 339}# + #{s\ 1467}# + (letrec* + ((#{dobody\ 1479}# + (lambda (#{body\ 1480}# + #{r\ 1481}# + #{w\ 1482}# + #{mod\ 1483}#) + (if (null? #{body\ 1480}#) + '() + (begin + (let ((#{first\ 1485}# + (#{chi\ 472}# + (car #{body\ 1480}#) + #{r\ 1481}# + #{w\ 1482}# + #{mod\ 1483}#))) + (cons #{first\ 1485}# + (#{dobody\ 1479}# + (cdr #{body\ 1480}#) + #{r\ 1481}# + #{w\ 1482}# + #{mod\ 1483}#)))))))) + (begin + (#{dobody\ 1479}# + #{body\ 1464}# + #{r\ 1465}# + #{w\ 1466}# + #{mod\ 1468}#)))))) + (#{chi-top-sequence\ 462}# + (lambda (#{body\ 1486}# + #{r\ 1487}# + #{w\ 1488}# + #{s\ 1489}# + #{m\ 1490}# + #{esew\ 1491}# + #{mod\ 1492}#) + (#{build-sequence\ 339}# + #{s\ 1489}# + (letrec* + ((#{dobody\ 1508}# + (lambda (#{body\ 1509}# + #{r\ 1510}# + #{w\ 1511}# + #{m\ 1512}# + #{esew\ 1513}# + #{mod\ 1514}# + #{out\ 1515}#) + (if (null? #{body\ 1509}#) + (reverse #{out\ 1515}#) + (#{dobody\ 1508}# + (cdr #{body\ 1509}#) + #{r\ 1510}# + #{w\ 1511}# + #{m\ 1512}# + #{esew\ 1513}# + #{mod\ 1514}# + (cons (#{chi-top\ 470}# + (car #{body\ 1509}#) + #{r\ 1510}# + #{w\ 1511}# + #{m\ 1512}# + #{esew\ 1513}# + #{mod\ 1514}#) + #{out\ 1515}#)))))) + (begin + (#{dobody\ 1508}# + #{body\ 1486}# + #{r\ 1487}# + #{w\ 1488}# + #{m\ 1490}# + #{esew\ 1491}# + #{mod\ 1492}# + '())))))) + (#{chi-install-global\ 464}# + (lambda (#{name\ 1516}# #{e\ 1517}#) + (#{build-global-definition\ 327}# + #f + #{name\ 1516}# + (#{build-application\ 309}# + #f + (#{build-primref\ 335}# + #f + 'make-syntax-transformer) + (list (#{build-data\ 337}# #f #{name\ 1516}#) + (#{build-data\ 337}# #f (quote macro)) + #{e\ 1517}#))))) + (#{chi-when-list\ 466}# + (lambda (#{e\ 1525}# #{when-list\ 1526}# #{w\ 1527}#) + (letrec* + ((#{f\ 1534}# + (lambda (#{when-list\ 1535}# #{situations\ 1536}#) + (if (null? #{when-list\ 1535}#) + #{situations\ 1536}# + (#{f\ 1534}# + (cdr #{when-list\ 1535}#) + (cons (begin + (let ((#{x\ 1538}# (car #{when-list\ 1535}#))) + (if (#{free-id=?\ 446}# + #{x\ 1538}# + '#(syntax-object + compile + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i1537")) + #(ribcage () () ()) + #(ribcage + #(f when-list situations) + #((top) (top) (top)) + #("i1531" "i1532" "i1533")) + #(ribcage () () ()) + #(ribcage + #(e when-list w) + #((top) (top) (top)) + #("i1528" "i1529" "i1530")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + chi-top + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + maybe-name-value! + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i501" + "i499" + "i497" + "i495" + "i493" + "i491" + "i489" + "i487" + "i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i430" + "i429" + "i427" + "i426" + "i425" + "i424" + "i423" + "i421" + "i419" + "i417" + "i415" + "i413" + "i411" + "i409" + "i407" + "i404" + "i402" + "i401" + "i400" + "i399" + "i398" + "i397" + "i395" + "i393" + "i391" + "i389" + "i388" + "i386" + "i384" + "i382" + "i380" + "i378" + "i376" + "i374" + "i373" + "i371" + "i369" + "i368" + "i367" + "i365" + "i364" + "i362" + "i360" + "i358" + "i356" + "i354" + "i352" + "i350" + "i348" + "i346" + "i344" + "i342" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i324" + "i322" + "i320" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i299" + "i297" + "i295" + "i293" + "i291" + "i289" + "i287" + "i285" + "i283" + "i281" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i252" + "i250" + "i248" + "i246" + "i244")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i38" "i37" "i36" "i34"))) + (hygiene guile))) + 'compile + (if (#{free-id=?\ 446}# + #{x\ 1538}# + '#(syntax-object + load + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(x) + #((top)) + #("i1537")) + #(ribcage () () ()) + #(ribcage + #(f when-list situations) + #((top) (top) (top)) + #("i1531" "i1532" "i1533")) + #(ribcage () () ()) + #(ribcage + #(e when-list w) + #((top) (top) (top)) + #("i1528" "i1529" "i1530")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + chi-top + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + maybe-name-value! + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i501" + "i499" + "i497" + "i495" + "i493" + "i491" + "i489" + "i487" + "i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i430" + "i429" + "i427" + "i426" + "i425" + "i424" + "i423" + "i421" + "i419" + "i417" + "i415" + "i413" + "i411" + "i409" + "i407" + "i404" + "i402" + "i401" + "i400" + "i399" + "i398" + "i397" + "i395" + "i393" + "i391" + "i389" + "i388" + "i386" + "i384" + "i382" + "i380" + "i378" + "i376" + "i374" + "i373" + "i371" + "i369" + "i368" + "i367" + "i365" + "i364" + "i362" + "i360" + "i358" + "i356" + "i354" + "i352" + "i350" + "i348" + "i346" + "i344" + "i342" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i324" + "i322" + "i320" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i299" + "i297" + "i295" + "i293" + "i291" + "i289" + "i287" + "i285" + "i283" + "i281" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i252" + "i250" + "i248" + "i246" + "i244")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i38" "i37" "i36" "i34"))) + (hygiene guile))) + 'load + (if (#{free-id=?\ 446}# + #{x\ 1538}# + '#(syntax-object + eval + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(x) + #((top)) + #("i1537")) + #(ribcage () () ()) + #(ribcage + #(f when-list situations) + #((top) (top) (top)) + #("i1531" "i1532" "i1533")) + #(ribcage () () ()) + #(ribcage + #(e when-list w) + #((top) (top) (top)) + #("i1528" "i1529" "i1530")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + chi-top + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + maybe-name-value! + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i501" + "i499" + "i497" + "i495" + "i493" + "i491" + "i489" + "i487" + "i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i430" + "i429" + "i427" + "i426" + "i425" + "i424" + "i423" + "i421" + "i419" + "i417" + "i415" + "i413" + "i411" + "i409" + "i407" + "i404" + "i402" + "i401" + "i400" + "i399" + "i398" + "i397" + "i395" + "i393" + "i391" + "i389" + "i388" + "i386" + "i384" + "i382" + "i380" + "i378" + "i376" + "i374" + "i373" + "i371" + "i369" + "i368" + "i367" + "i365" + "i364" + "i362" + "i360" + "i358" + "i356" + "i354" + "i352" + "i350" + "i348" + "i346" + "i344" + "i342" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i324" + "i322" + "i320" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i299" + "i297" + "i295" + "i293" + "i291" + "i289" + "i287" + "i285" + "i283" + "i281" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i252" + "i250" + "i248" + "i246" + "i244")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i38" "i37" "i36" "i34"))) + (hygiene guile))) + 'eval + (if (#{free-id=?\ 446}# + #{x\ 1538}# + '#(syntax-object + expand + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage + #(x) + #((top)) + #("i1537")) + #(ribcage () () ()) + #(ribcage + #(f when-list situations) + #((top) (top) (top)) + #("i1531" "i1532" "i1533")) + #(ribcage () () ()) + #(ribcage + #(e when-list w) + #((top) (top) (top)) + #("i1528" "i1529" "i1530")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + chi-top + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + maybe-name-value! + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i501" + "i499" + "i497" + "i495" + "i493" + "i491" + "i489" + "i487" + "i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i430" + "i429" + "i427" + "i426" + "i425" + "i424" + "i423" + "i421" + "i419" + "i417" + "i415" + "i413" + "i411" + "i409" + "i407" + "i404" + "i402" + "i401" + "i400" + "i399" + "i398" + "i397" + "i395" + "i393" + "i391" + "i389" + "i388" + "i386" + "i384" + "i382" + "i380" + "i378" + "i376" + "i374" + "i373" + "i371" + "i369" + "i368" + "i367" + "i365" + "i364" + "i362" + "i360" + "i358" + "i356" + "i354" + "i352" + "i350" + "i348" + "i346" + "i344" + "i342" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i324" + "i322" + "i320" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i299" + "i297" + "i295" + "i293" + "i291" + "i289" + "i287" + "i285" + "i283" + "i281" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i252" + "i250" + "i248" + "i246" + "i244")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i38" "i37" "i36" "i34"))) + (hygiene guile))) + 'expand + (syntax-violation + 'eval-when + "invalid situation" + #{e\ 1525}# + (#{wrap\ 456}# + #{x\ 1538}# + #{w\ 1527}# + #f)))))))) + #{situations\ 1536}#)))))) + (begin + (#{f\ 1534}# #{when-list\ 1526}# (quote ())))))) + (#{syntax-type\ 468}# + (lambda (#{e\ 1548}# + #{r\ 1549}# + #{w\ 1550}# + #{s\ 1551}# + #{rib\ 1552}# + #{mod\ 1553}# + #{for-car?\ 1554}#) + (if (symbol? #{e\ 1548}#) + (begin + (let ((#{n\ 1566}# + (#{id-var-name\ 444}# #{e\ 1548}# #{w\ 1550}#))) + (begin + (let ((#{b\ 1568}# + (#{lookup\ 381}# + #{n\ 1566}# + #{r\ 1549}# + #{mod\ 1553}#))) + (begin + (let ((#{type\ 1570}# + (#{binding-type\ 370}# #{b\ 1568}#))) + (if (eqv? #{type\ 1570}# (quote lexical)) + (values + #{type\ 1570}# + (#{binding-value\ 372}# #{b\ 1568}#) + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) + (if (eqv? #{type\ 1570}# (quote global)) + (values + #{type\ 1570}# + #{n\ 1566}# + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) + (if (eqv? #{type\ 1570}# (quote macro)) + (if #{for-car?\ 1554}# + (values + #{type\ 1570}# + (#{binding-value\ 372}# #{b\ 1568}#) + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) (#{syntax-type\ 468}# (#{chi-macro\ 478}# - (#{binding-value\ 372}# #{b\ 1808}#) - #{e\ 1788}# - #{r\ 1789}# - #{w\ 1790}# - #{s\ 1791}# - #{rib\ 1792}# - #{mod\ 1793}#) - #{r\ 1789}# + (#{binding-value\ 372}# #{b\ 1568}#) + #{e\ 1548}# + #{r\ 1549}# + #{w\ 1550}# + #{s\ 1551}# + #{rib\ 1552}# + #{mod\ 1553}#) + #{r\ 1549}# '(()) - #{s\ 1791}# - #{rib\ 1792}# - #{mod\ 1793}# + #{s\ 1551}# + #{rib\ 1552}# + #{mod\ 1553}# #f)) (values - #{type\ 1810}# - (#{binding-value\ 372}# #{b\ 1808}#) - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#)))))))))) - (if (pair? #{e\ 1788}#) + #{type\ 1570}# + (#{binding-value\ 372}# #{b\ 1568}#) + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#)))))))))) + (if (pair? #{e\ 1548}#) (begin - (let ((#{first\ 1819}# (car #{e\ 1788}#))) + (let ((#{first\ 1579}# (car #{e\ 1548}#))) (call-with-values (lambda () (#{syntax-type\ 468}# - #{first\ 1819}# - #{r\ 1789}# - #{w\ 1790}# - #{s\ 1791}# - #{rib\ 1792}# - #{mod\ 1793}# + #{first\ 1579}# + #{r\ 1549}# + #{w\ 1550}# + #{s\ 1551}# + #{rib\ 1552}# + #{mod\ 1553}# #t)) - (lambda (#{ftype\ 1820}# - #{fval\ 1821}# - #{fe\ 1822}# - #{fw\ 1823}# - #{fs\ 1824}# - #{fmod\ 1825}#) - (if (eqv? #{ftype\ 1820}# (quote lexical)) + (lambda (#{ftype\ 1580}# + #{fval\ 1581}# + #{fe\ 1582}# + #{fw\ 1583}# + #{fs\ 1584}# + #{fmod\ 1585}#) + (if (eqv? #{ftype\ 1580}# (quote lexical)) (values 'lexical-call - #{fval\ 1821}# - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) - (if (eqv? #{ftype\ 1820}# (quote global)) + #{fval\ 1581}# + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) + (if (eqv? #{ftype\ 1580}# (quote global)) (values 'global-call (#{make-syntax-object\ 349}# - #{fval\ 1821}# - #{w\ 1790}# - #{fmod\ 1825}#) - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) - (if (eqv? #{ftype\ 1820}# (quote macro)) + #{fval\ 1581}# + #{w\ 1550}# + #{fmod\ 1585}#) + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) + (if (eqv? #{ftype\ 1580}# (quote macro)) (#{syntax-type\ 468}# (#{chi-macro\ 478}# - #{fval\ 1821}# - #{e\ 1788}# - #{r\ 1789}# - #{w\ 1790}# - #{s\ 1791}# - #{rib\ 1792}# - #{mod\ 1793}#) - #{r\ 1789}# + #{fval\ 1581}# + #{e\ 1548}# + #{r\ 1549}# + #{w\ 1550}# + #{s\ 1551}# + #{rib\ 1552}# + #{mod\ 1553}#) + #{r\ 1549}# '(()) - #{s\ 1791}# - #{rib\ 1792}# - #{mod\ 1793}# - #{for-car?\ 1794}#) - (if (eqv? #{ftype\ 1820}# (quote module-ref)) + #{s\ 1551}# + #{rib\ 1552}# + #{mod\ 1553}# + #{for-car?\ 1554}#) + (if (eqv? #{ftype\ 1580}# (quote module-ref)) (call-with-values (lambda () - (#{fval\ 1821}# - #{e\ 1788}# - #{r\ 1789}# - #{w\ 1790}#)) - (lambda (#{e\ 1837}# - #{r\ 1838}# - #{w\ 1839}# - #{s\ 1840}# - #{mod\ 1841}#) + (#{fval\ 1581}# + #{e\ 1548}# + #{r\ 1549}# + #{w\ 1550}#)) + (lambda (#{e\ 1597}# + #{r\ 1598}# + #{w\ 1599}# + #{s\ 1600}# + #{mod\ 1601}#) (#{syntax-type\ 468}# - #{e\ 1837}# - #{r\ 1838}# - #{w\ 1839}# - #{s\ 1840}# - #{rib\ 1792}# - #{mod\ 1841}# - #{for-car?\ 1794}#))) - (if (eqv? #{ftype\ 1820}# (quote core)) + #{e\ 1597}# + #{r\ 1598}# + #{w\ 1599}# + #{s\ 1600}# + #{rib\ 1552}# + #{mod\ 1601}# + #{for-car?\ 1554}#))) + (if (eqv? #{ftype\ 1580}# (quote core)) (values 'core-form - #{fval\ 1821}# - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) - (if (eqv? #{ftype\ 1820}# + #{fval\ 1581}# + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) + (if (eqv? #{ftype\ 1580}# 'local-syntax) (values 'local-syntax-form - #{fval\ 1821}# - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) - (if (eqv? #{ftype\ 1820}# (quote begin)) + #{fval\ 1581}# + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) + (if (eqv? #{ftype\ 1580}# (quote begin)) (values 'begin-form #f - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) - (if (eqv? #{ftype\ 1820}# + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) + (if (eqv? #{ftype\ 1580}# 'eval-when) (values 'eval-when-form #f - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) - (if (eqv? #{ftype\ 1820}# + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) + (if (eqv? #{ftype\ 1580}# 'define) - (let ((#{tmp\ 1852}# #{e\ 1788}#)) - (let ((#{tmp\ 1853}# + (let ((#{tmp\ 1612}# #{e\ 1548}#)) + (let ((#{tmp\ 1613}# ($sc-dispatch - #{tmp\ 1852}# + #{tmp\ 1612}# '(any any any)))) - (if (if #{tmp\ 1853}# + (if (if #{tmp\ 1613}# (@apply - (lambda (#{_\ 1857}# - #{name\ 1858}# - #{val\ 1859}#) + (lambda (#{_\ 1617}# + #{name\ 1618}# + #{val\ 1619}#) (#{id?\ 387}# - #{name\ 1858}#)) - #{tmp\ 1853}#) + #{name\ 1618}#)) + #{tmp\ 1613}#) #f) (@apply - (lambda (#{_\ 1863}# - #{name\ 1864}# - #{val\ 1865}#) + (lambda (#{_\ 1623}# + #{name\ 1624}# + #{val\ 1625}#) (values 'define-form - #{name\ 1864}# - #{val\ 1865}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#)) - #{tmp\ 1853}#) - (let ((#{tmp\ 1866}# + #{name\ 1624}# + #{val\ 1625}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#)) + #{tmp\ 1613}#) + (let ((#{tmp\ 1626}# ($sc-dispatch - #{tmp\ 1852}# + #{tmp\ 1612}# '(any (any . any) any . each-any)))) - (if (if #{tmp\ 1866}# + (if (if #{tmp\ 1626}# (@apply - (lambda (#{_\ 1872}# - #{name\ 1873}# - #{args\ 1874}# - #{e1\ 1875}# - #{e2\ 1876}#) + (lambda (#{_\ 1632}# + #{name\ 1633}# + #{args\ 1634}# + #{e1\ 1635}# + #{e2\ 1636}#) (if (#{id?\ 387}# - #{name\ 1873}#) + #{name\ 1633}#) (#{valid-bound-ids?\ 450}# (#{lambda-var-list\ 502}# - #{args\ 1874}#)) + #{args\ 1634}#)) #f)) - #{tmp\ 1866}#) + #{tmp\ 1626}#) #f) (@apply - (lambda (#{_\ 1884}# - #{name\ 1885}# - #{args\ 1886}# - #{e1\ 1887}# - #{e2\ 1888}#) + (lambda (#{_\ 1644}# + #{name\ 1645}# + #{args\ 1646}# + #{e1\ 1647}# + #{e2\ 1648}#) (values 'define-form (#{wrap\ 456}# - #{name\ 1885}# - #{w\ 1790}# - #{mod\ 1793}#) + #{name\ 1645}# + #{w\ 1550}# + #{mod\ 1553}#) (#{decorate-source\ 305}# (cons '#(syntax-object lambda @@ -3921,11 +3226,11 @@ (top) (top) (top)) - #("i1879" - "i1880" - "i1881" - "i1882" - "i1883")) + #("i1639" + "i1640" + "i1641" + "i1642" + "i1643")) #(ribcage () () @@ -3947,12 +3252,12 @@ (top) (top) (top)) - #("i1826" - "i1827" - "i1828" - "i1829" - "i1830" - "i1831")) + #("i1586" + "i1587" + "i1588" + "i1589" + "i1590" + "i1591")) #(ribcage () () @@ -3960,7 +3265,7 @@ #(ribcage #(first) #((top)) - #("i1818")) + #("i1578")) #(ribcage () () @@ -3988,13 +3293,13 @@ (top) (top) (top)) - #("i1795" - "i1796" - "i1797" - "i1798" - "i1799" - "i1800" - "i1801")) + #("i1555" + "i1556" + "i1557" + "i1558" + "i1559" + "i1560" + "i1561")) #(ribcage (lambda-var-list gen-var @@ -4423,37 +3728,37 @@ (hygiene guile)) (#{wrap\ 456}# - (cons #{args\ 1886}# - (cons #{e1\ 1887}# - #{e2\ 1888}#)) - #{w\ 1790}# - #{mod\ 1793}#)) - #{s\ 1791}#) + (cons #{args\ 1646}# + (cons #{e1\ 1647}# + #{e2\ 1648}#)) + #{w\ 1550}# + #{mod\ 1553}#)) + #{s\ 1551}#) '(()) - #{s\ 1791}# - #{mod\ 1793}#)) - #{tmp\ 1866}#) - (let ((#{tmp\ 1891}# + #{s\ 1551}# + #{mod\ 1553}#)) + #{tmp\ 1626}#) + (let ((#{tmp\ 1651}# ($sc-dispatch - #{tmp\ 1852}# + #{tmp\ 1612}# '(any any)))) - (if (if #{tmp\ 1891}# + (if (if #{tmp\ 1651}# (@apply - (lambda (#{_\ 1894}# - #{name\ 1895}#) + (lambda (#{_\ 1654}# + #{name\ 1655}#) (#{id?\ 387}# - #{name\ 1895}#)) - #{tmp\ 1891}#) + #{name\ 1655}#)) + #{tmp\ 1651}#) #f) (@apply - (lambda (#{_\ 1898}# - #{name\ 1899}#) + (lambda (#{_\ 1658}# + #{name\ 1659}#) (values 'define-form (#{wrap\ 456}# - #{name\ 1899}# - #{w\ 1790}# - #{mod\ 1793}#) + #{name\ 1659}# + #{w\ 1550}# + #{mod\ 1553}#) '(#(syntax-object if ((top) @@ -4461,8 +3766,8 @@ #(_ name) #((top) (top)) - #("i1896" - "i1897")) + #("i1656" + "i1657")) #(ribcage () () @@ -4484,12 +3789,12 @@ (top) (top) (top)) - #("i1826" - "i1827" - "i1828" - "i1829" - "i1830" - "i1831")) + #("i1586" + "i1587" + "i1588" + "i1589" + "i1590" + "i1591")) #(ribcage () () @@ -4497,7 +3802,7 @@ #(ribcage #(first) #((top)) - #("i1818")) + #("i1578")) #(ribcage () () @@ -4525,13 +3830,13 @@ (top) (top) (top)) - #("i1795" - "i1796" - "i1797" - "i1798" - "i1799" - "i1800" - "i1801")) + #("i1555" + "i1556" + "i1557" + "i1558" + "i1559" + "i1560" + "i1561")) #(ribcage (lambda-var-list gen-var @@ -4966,8 +4271,8 @@ #(_ name) #((top) (top)) - #("i1896" - "i1897")) + #("i1656" + "i1657")) #(ribcage () () @@ -4989,12 +4294,12 @@ (top) (top) (top)) - #("i1826" - "i1827" - "i1828" - "i1829" - "i1830" - "i1831")) + #("i1586" + "i1587" + "i1588" + "i1589" + "i1590" + "i1591")) #(ribcage () () @@ -5002,7 +4307,7 @@ #(ribcage #(first) #((top)) - #("i1818")) + #("i1578")) #(ribcage () () @@ -5030,13 +4335,13 @@ (top) (top) (top)) - #("i1795" - "i1796" - "i1797" - "i1798" - "i1799" - "i1800" - "i1801")) + #("i1555" + "i1556" + "i1557" + "i1558" + "i1559" + "i1560" + "i1561")) #(ribcage (lambda-var-list gen-var @@ -5471,8 +4776,8 @@ #(_ name) #((top) (top)) - #("i1896" - "i1897")) + #("i1656" + "i1657")) #(ribcage () () @@ -5494,12 +4799,12 @@ (top) (top) (top)) - #("i1826" - "i1827" - "i1828" - "i1829" - "i1830" - "i1831")) + #("i1586" + "i1587" + "i1588" + "i1589" + "i1590" + "i1591")) #(ribcage () () @@ -5507,7 +4812,7 @@ #(ribcage #(first) #((top)) - #("i1818")) + #("i1578")) #(ribcage () () @@ -5535,13 +4840,13 @@ (top) (top) (top)) - #("i1795" - "i1796" - "i1797" - "i1798" - "i1799" - "i1800" - "i1801")) + #("i1555" + "i1556" + "i1557" + "i1558" + "i1559" + "i1560" + "i1561")) #(ribcage (lambda-var-list gen-var @@ -5970,3035 +5275,3740 @@ (hygiene guile))) '(()) - #{s\ 1791}# - #{mod\ 1793}#)) - #{tmp\ 1891}#) + #{s\ 1551}# + #{mod\ 1553}#)) + #{tmp\ 1651}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1852}#)))))))) - (if (eqv? #{ftype\ 1820}# + #{tmp\ 1612}#)))))))) + (if (eqv? #{ftype\ 1580}# 'define-syntax) - (let ((#{tmp\ 1902}# #{e\ 1788}#)) - (let ((#{tmp\ 1903}# + (let ((#{tmp\ 1662}# #{e\ 1548}#)) + (let ((#{tmp\ 1663}# ($sc-dispatch - #{tmp\ 1902}# + #{tmp\ 1662}# '(any any any)))) - (if (if #{tmp\ 1903}# + (if (if #{tmp\ 1663}# (@apply - (lambda (#{_\ 1907}# - #{name\ 1908}# - #{val\ 1909}#) + (lambda (#{_\ 1667}# + #{name\ 1668}# + #{val\ 1669}#) (#{id?\ 387}# - #{name\ 1908}#)) - #{tmp\ 1903}#) + #{name\ 1668}#)) + #{tmp\ 1663}#) #f) (@apply - (lambda (#{_\ 1913}# - #{name\ 1914}# - #{val\ 1915}#) + (lambda (#{_\ 1673}# + #{name\ 1674}# + #{val\ 1675}#) (values 'define-syntax-form - #{name\ 1914}# - #{val\ 1915}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#)) - #{tmp\ 1903}#) + #{name\ 1674}# + #{val\ 1675}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#)) + #{tmp\ 1663}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1902}#)))) + #{tmp\ 1662}#)))) (values 'call #f - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#))))))))))))))) - (if (#{syntax-object?\ 351}# #{e\ 1788}#) + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#))))))))))))))) + (if (#{syntax-object?\ 351}# #{e\ 1548}#) (#{syntax-type\ 468}# - (#{syntax-object-expression\ 353}# #{e\ 1788}#) - #{r\ 1789}# + (#{syntax-object-expression\ 353}# #{e\ 1548}#) + #{r\ 1549}# (#{join-wraps\ 438}# - #{w\ 1790}# - (#{syntax-object-wrap\ 355}# #{e\ 1788}#)) + #{w\ 1550}# + (#{syntax-object-wrap\ 355}# #{e\ 1548}#)) (begin - (let ((#{t\ 1921}# - (#{source-annotation\ 366}# #{e\ 1788}#))) - (if #{t\ 1921}# #{t\ 1921}# #{s\ 1791}#))) - #{rib\ 1792}# + (let ((#{t\ 1681}# + (#{source-annotation\ 366}# #{e\ 1548}#))) + (if #{t\ 1681}# #{t\ 1681}# #{s\ 1551}#))) + #{rib\ 1552}# (begin - (let ((#{t\ 1925}# - (#{syntax-object-module\ 357}# #{e\ 1788}#))) - (if #{t\ 1925}# #{t\ 1925}# #{mod\ 1793}#))) - #{for-car?\ 1794}#) - (if (self-evaluating? #{e\ 1788}#) + (let ((#{t\ 1685}# + (#{syntax-object-module\ 357}# #{e\ 1548}#))) + (if #{t\ 1685}# #{t\ 1685}# #{mod\ 1553}#))) + #{for-car?\ 1554}#) + (if (self-evaluating? #{e\ 1548}#) (values 'constant #f - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#) + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#) (values 'other #f - #{e\ 1788}# - #{w\ 1790}# - #{s\ 1791}# - #{mod\ 1793}#))))))) - (#{chi-when-list\ 466}# - (lambda (#{e\ 1930}# #{when-list\ 1931}# #{w\ 1932}#) - (letrec* - ((#{f\ 1939}# - (lambda (#{when-list\ 1940}# #{situations\ 1941}#) - (if (null? #{when-list\ 1940}#) - #{situations\ 1941}# - (#{f\ 1939}# - (cdr #{when-list\ 1940}#) - (cons (begin - (let ((#{x\ 1943}# (car #{when-list\ 1940}#))) - (if (#{free-id=?\ 446}# - #{x\ 1943}# - '#(syntax-object - compile - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage #(x) #((top)) #("i1942")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1936" "i1937" "i1938")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1933" "i1934" "i1935")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - chi-top - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - maybe-name-value! - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i501" - "i499" - "i497" - "i495" - "i493" - "i491" - "i489" - "i487" - "i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i430" - "i429" - "i427" - "i426" - "i425" - "i424" - "i423" - "i421" - "i419" - "i417" - "i415" - "i413" - "i411" - "i409" - "i407" - "i404" - "i402" - "i401" - "i400" - "i399" - "i398" - "i397" - "i395" - "i393" - "i391" - "i389" - "i388" - "i386" - "i384" - "i382" - "i380" - "i378" - "i376" - "i374" - "i373" - "i371" - "i369" - "i368" - "i367" - "i365" - "i364" - "i362" - "i360" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i299" - "i297" - "i295" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i278" - "i276" - "i274" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i38" "i37" "i36" "i34"))) - (hygiene guile))) - 'compile - (if (#{free-id=?\ 446}# - #{x\ 1943}# - '#(syntax-object - load - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(x) - #((top)) - #("i1942")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1936" "i1937" "i1938")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1933" "i1934" "i1935")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - chi-top - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - maybe-name-value! - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i501" - "i499" - "i497" - "i495" - "i493" - "i491" - "i489" - "i487" - "i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i430" - "i429" - "i427" - "i426" - "i425" - "i424" - "i423" - "i421" - "i419" - "i417" - "i415" - "i413" - "i411" - "i409" - "i407" - "i404" - "i402" - "i401" - "i400" - "i399" - "i398" - "i397" - "i395" - "i393" - "i391" - "i389" - "i388" - "i386" - "i384" - "i382" - "i380" - "i378" - "i376" - "i374" - "i373" - "i371" - "i369" - "i368" - "i367" - "i365" - "i364" - "i362" - "i360" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i299" - "i297" - "i295" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i278" - "i276" - "i274" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i38" "i37" "i36" "i34"))) - (hygiene guile))) - 'load - (if (#{free-id=?\ 446}# - #{x\ 1943}# - '#(syntax-object - eval - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(x) - #((top)) - #("i1942")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1936" "i1937" "i1938")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1933" "i1934" "i1935")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - chi-top - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - maybe-name-value! - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i501" - "i499" - "i497" - "i495" - "i493" - "i491" - "i489" - "i487" - "i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i430" - "i429" - "i427" - "i426" - "i425" - "i424" - "i423" - "i421" - "i419" - "i417" - "i415" - "i413" - "i411" - "i409" - "i407" - "i404" - "i402" - "i401" - "i400" - "i399" - "i398" - "i397" - "i395" - "i393" - "i391" - "i389" - "i388" - "i386" - "i384" - "i382" - "i380" - "i378" - "i376" - "i374" - "i373" - "i371" - "i369" - "i368" - "i367" - "i365" - "i364" - "i362" - "i360" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i299" - "i297" - "i295" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i278" - "i276" - "i274" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i38" "i37" "i36" "i34"))) - (hygiene guile))) - 'eval - (if (#{free-id=?\ 446}# - #{x\ 1943}# - '#(syntax-object - expand - ((top) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage () () ()) - #(ribcage - #(x) - #((top)) - #("i1942")) - #(ribcage () () ()) - #(ribcage - #(f when-list situations) - #((top) (top) (top)) - #("i1936" "i1937" "i1938")) - #(ribcage () () ()) - #(ribcage - #(e when-list w) - #((top) (top) (top)) - #("i1933" "i1934" "i1935")) - #(ribcage - (lambda-var-list - gen-var - strip - chi-lambda-case - lambda*-formals - chi-simple-lambda - lambda-formals - ellipsis? - chi-void - eval-local-transformer - chi-local-syntax - chi-body - chi-macro - chi-application - chi-expr - chi - chi-top - syntax-type - chi-when-list - chi-install-global - chi-top-sequence - chi-sequence - source-wrap - wrap - bound-id-member? - distinct-bound-ids? - valid-bound-ids? - bound-id=? - free-id=? - id-var-name - same-marks? - join-marks - join-wraps - smart-append - make-binding-wrap - extend-ribcage! - make-empty-ribcage - new-mark - anti-mark - the-anti-mark - top-marked? - top-wrap - empty-wrap - set-ribcage-labels! - set-ribcage-marks! - set-ribcage-symnames! - ribcage-labels - ribcage-marks - ribcage-symnames - ribcage? - make-ribcage - gen-labels - gen-label - make-rename - rename-marks - rename-new - rename-old - subst-rename? - wrap-subst - wrap-marks - make-wrap - id-sym-name&marks - id-sym-name - id? - nonsymbol-id? - global-extend - lookup - macros-only-env - extend-var-env - extend-env - null-env - binding-value - binding-type - make-binding - arg-check - source-annotation - no-source - set-syntax-object-module! - set-syntax-object-wrap! - set-syntax-object-expression! - syntax-object-module - syntax-object-wrap - syntax-object-expression - syntax-object? - make-syntax-object - build-lexical-var - build-letrec - build-named-let - build-let - build-sequence - build-data - build-primref - build-lambda-case - build-case-lambda - build-simple-lambda - build-global-definition - maybe-name-value! - build-global-assignment - build-global-reference - analyze-variable - build-lexical-assignment - build-lexical-reference - build-dynlet - build-conditional - build-application - build-void - decorate-source - get-global-definition-hook - put-global-definition-hook - gensym-hook - local-eval-hook - top-level-eval-hook - fx< - fx= - fx- - fx+ - set-lambda-meta! - lambda-meta - lambda? - make-dynlet - make-letrec - make-let - make-lambda-case - make-lambda - make-sequence - make-application - make-conditional - make-toplevel-define - make-toplevel-set - make-toplevel-ref - make-module-set - make-module-ref - make-lexical-set - make-lexical-ref - make-primitive-ref - make-const - make-void) - ((top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top) - (top)) - ("i501" - "i499" - "i497" - "i495" - "i493" - "i491" - "i489" - "i487" - "i485" - "i483" - "i481" - "i479" - "i477" - "i475" - "i473" - "i471" - "i469" - "i467" - "i465" - "i463" - "i461" - "i459" - "i457" - "i455" - "i453" - "i451" - "i449" - "i447" - "i445" - "i443" - "i441" - "i439" - "i437" - "i435" - "i433" - "i431" - "i430" - "i429" - "i427" - "i426" - "i425" - "i424" - "i423" - "i421" - "i419" - "i417" - "i415" - "i413" - "i411" - "i409" - "i407" - "i404" - "i402" - "i401" - "i400" - "i399" - "i398" - "i397" - "i395" - "i393" - "i391" - "i389" - "i388" - "i386" - "i384" - "i382" - "i380" - "i378" - "i376" - "i374" - "i373" - "i371" - "i369" - "i368" - "i367" - "i365" - "i364" - "i362" - "i360" - "i358" - "i356" - "i354" - "i352" - "i350" - "i348" - "i346" - "i344" - "i342" - "i340" - "i338" - "i336" - "i334" - "i332" - "i330" - "i328" - "i326" - "i324" - "i322" - "i320" - "i318" - "i316" - "i314" - "i312" - "i310" - "i308" - "i306" - "i304" - "i302" - "i300" - "i299" - "i297" - "i295" - "i293" - "i291" - "i289" - "i287" - "i285" - "i283" - "i281" - "i278" - "i276" - "i274" - "i272" - "i270" - "i268" - "i266" - "i264" - "i262" - "i260" - "i258" - "i256" - "i254" - "i252" - "i250" - "i248" - "i246" - "i244")) - #(ribcage - (define-structure - define-expansion-accessors - define-expansion-constructors - and-map*) - ((top) (top) (top) (top)) - ("i38" "i37" "i36" "i34"))) - (hygiene guile))) - 'expand - (syntax-violation - 'eval-when - "invalid situation" - #{e\ 1930}# - (#{wrap\ 456}# - #{x\ 1943}# - #{w\ 1932}# - #f)))))))) - #{situations\ 1941}#)))))) - (begin - (#{f\ 1939}# #{when-list\ 1931}# (quote ())))))) - (#{chi-install-global\ 464}# - (lambda (#{name\ 1953}# #{e\ 1954}#) - (#{build-global-definition\ 327}# - #f - #{name\ 1953}# - (#{build-application\ 309}# - #f - (#{build-primref\ 335}# + #{e\ 1548}# + #{w\ 1550}# + #{s\ 1551}# + #{mod\ 1553}#))))))) + (#{chi-top\ 470}# + (lambda (#{e\ 1690}# + #{r\ 1691}# + #{w\ 1692}# + #{m\ 1693}# + #{esew\ 1694}# + #{mod\ 1695}#) + (call-with-values + (lambda () + (#{syntax-type\ 468}# + #{e\ 1690}# + #{r\ 1691}# + #{w\ 1692}# + (#{source-annotation\ 366}# #{e\ 1690}#) #f - 'make-syntax-transformer) - (list (#{build-data\ 337}# #f #{name\ 1953}#) - (#{build-data\ 337}# #f (quote macro)) - #{e\ 1954}#))))) - (#{chi-top-sequence\ 462}# - (lambda (#{body\ 1962}# - #{r\ 1963}# - #{w\ 1964}# - #{s\ 1965}# - #{m\ 1966}# - #{esew\ 1967}# - #{mod\ 1968}#) - (#{build-sequence\ 339}# - #{s\ 1965}# - (letrec* - ((#{dobody\ 1984}# - (lambda (#{body\ 1985}# - #{r\ 1986}# - #{w\ 1987}# - #{m\ 1988}# - #{esew\ 1989}# - #{mod\ 1990}# - #{out\ 1991}#) - (if (null? #{body\ 1985}#) - (reverse #{out\ 1991}#) - (#{dobody\ 1984}# - (cdr #{body\ 1985}#) - #{r\ 1986}# - #{w\ 1987}# - #{m\ 1988}# - #{esew\ 1989}# - #{mod\ 1990}# - (cons (#{chi-top\ 470}# - (car #{body\ 1985}#) - #{r\ 1986}# - #{w\ 1987}# - #{m\ 1988}# - #{esew\ 1989}# - #{mod\ 1990}#) - #{out\ 1991}#)))))) - (begin - (#{dobody\ 1984}# - #{body\ 1962}# - #{r\ 1963}# - #{w\ 1964}# - #{m\ 1966}# - #{esew\ 1967}# - #{mod\ 1968}# - '())))))) - (#{chi-sequence\ 460}# - (lambda (#{body\ 1992}# - #{r\ 1993}# - #{w\ 1994}# - #{s\ 1995}# - #{mod\ 1996}#) - (#{build-sequence\ 339}# - #{s\ 1995}# - (letrec* - ((#{dobody\ 2007}# - (lambda (#{body\ 2008}# - #{r\ 2009}# - #{w\ 2010}# - #{mod\ 2011}#) - (if (null? #{body\ 2008}#) - '() - (begin - (let ((#{first\ 2013}# - (#{chi\ 472}# - (car #{body\ 2008}#) - #{r\ 2009}# - #{w\ 2010}# - #{mod\ 2011}#))) - (cons #{first\ 2013}# - (#{dobody\ 2007}# - (cdr #{body\ 2008}#) - #{r\ 2009}# - #{w\ 2010}# - #{mod\ 2011}#)))))))) - (begin - (#{dobody\ 2007}# - #{body\ 1992}# - #{r\ 1993}# - #{w\ 1994}# - #{mod\ 1996}#)))))) - (#{source-wrap\ 458}# - (lambda (#{x\ 2014}# - #{w\ 2015}# - #{s\ 2016}# - #{defmod\ 2017}#) - (#{wrap\ 456}# - (#{decorate-source\ 305}# - #{x\ 2014}# - #{s\ 2016}#) - #{w\ 2015}# - #{defmod\ 2017}#))) - (#{wrap\ 456}# - (lambda (#{x\ 2022}# #{w\ 2023}# #{defmod\ 2024}#) - (if (if (null? (#{wrap-marks\ 394}# #{w\ 2023}#)) - (null? (#{wrap-subst\ 396}# #{w\ 2023}#)) - #f) - #{x\ 2022}# - (if (#{syntax-object?\ 351}# #{x\ 2022}#) - (#{make-syntax-object\ 349}# - (#{syntax-object-expression\ 353}# #{x\ 2022}#) - (#{join-wraps\ 438}# - #{w\ 2023}# - (#{syntax-object-wrap\ 355}# #{x\ 2022}#)) - (#{syntax-object-module\ 357}# #{x\ 2022}#)) - (if (null? #{x\ 2022}#) - #{x\ 2022}# - (#{make-syntax-object\ 349}# - #{x\ 2022}# - #{w\ 2023}# - #{defmod\ 2024}#)))))) - (#{bound-id-member?\ 454}# - (lambda (#{x\ 2037}# #{list\ 2038}#) - (if (not (null? #{list\ 2038}#)) - (begin - (let ((#{t\ 2045}# - (#{bound-id=?\ 448}# - #{x\ 2037}# - (car #{list\ 2038}#)))) - (if #{t\ 2045}# - #{t\ 2045}# - (#{bound-id-member?\ 454}# - #{x\ 2037}# - (cdr #{list\ 2038}#))))) - #f))) - (#{distinct-bound-ids?\ 452}# - (lambda (#{ids\ 2047}#) - (letrec* - ((#{distinct?\ 2051}# - (lambda (#{ids\ 2052}#) - (begin - (let ((#{t\ 2055}# (null? #{ids\ 2052}#))) - (if #{t\ 2055}# - #{t\ 2055}# - (if (not (#{bound-id-member?\ 454}# - (car #{ids\ 2052}#) - (cdr #{ids\ 2052}#))) - (#{distinct?\ 2051}# (cdr #{ids\ 2052}#)) - #f))))))) - (begin (#{distinct?\ 2051}# #{ids\ 2047}#))))) - (#{valid-bound-ids?\ 450}# - (lambda (#{ids\ 2059}#) - (if (letrec* - ((#{all-ids?\ 2064}# - (lambda (#{ids\ 2065}#) - (begin - (let ((#{t\ 2068}# (null? #{ids\ 2065}#))) - (if #{t\ 2068}# - #{t\ 2068}# - (if (#{id?\ 387}# (car #{ids\ 2065}#)) - (#{all-ids?\ 2064}# (cdr #{ids\ 2065}#)) - #f))))))) - (begin (#{all-ids?\ 2064}# #{ids\ 2059}#))) - (#{distinct-bound-ids?\ 452}# #{ids\ 2059}#) - #f))) - (#{bound-id=?\ 448}# - (lambda (#{i\ 2073}# #{j\ 2074}#) - (if (if (#{syntax-object?\ 351}# #{i\ 2073}#) - (#{syntax-object?\ 351}# #{j\ 2074}#) - #f) - (if (eq? (#{syntax-object-expression\ 353}# #{i\ 2073}#) - (#{syntax-object-expression\ 353}# #{j\ 2074}#)) - (#{same-marks?\ 442}# - (#{wrap-marks\ 394}# - (#{syntax-object-wrap\ 355}# #{i\ 2073}#)) - (#{wrap-marks\ 394}# - (#{syntax-object-wrap\ 355}# #{j\ 2074}#))) - #f) - (eq? #{i\ 2073}# #{j\ 2074}#)))) - (#{free-id=?\ 446}# - (lambda (#{i\ 2081}# #{j\ 2082}#) - (if (eq? (begin - (let ((#{x\ 2088}# #{i\ 2081}#)) - (if (#{syntax-object?\ 351}# #{x\ 2088}#) - (#{syntax-object-expression\ 353}# #{x\ 2088}#) - #{x\ 2088}#))) - (begin - (let ((#{x\ 2091}# #{j\ 2082}#)) - (if (#{syntax-object?\ 351}# #{x\ 2091}#) - (#{syntax-object-expression\ 353}# #{x\ 2091}#) - #{x\ 2091}#)))) - (eq? (#{id-var-name\ 444}# #{i\ 2081}# (quote (()))) - (#{id-var-name\ 444}# #{j\ 2082}# (quote (())))) - #f))) - (#{id-var-name\ 444}# - (lambda (#{id\ 2095}# #{w\ 2096}#) - (letrec* - ((#{search-vector-rib\ 2105}# - (lambda (#{sym\ 2117}# - #{subst\ 2118}# - #{marks\ 2119}# - #{symnames\ 2120}# - #{ribcage\ 2121}#) - (begin - (let ((#{n\ 2128}# (vector-length #{symnames\ 2120}#))) - (letrec* - ((#{f\ 2131}# - (lambda (#{i\ 2132}#) - (if (#{fx=\ 292}# #{i\ 2132}# #{n\ 2128}#) - (#{search\ 2101}# - #{sym\ 2117}# - (cdr #{subst\ 2118}#) - #{marks\ 2119}#) - (if (if (eq? (vector-ref - #{symnames\ 2120}# - #{i\ 2132}#) - #{sym\ 2117}#) - (#{same-marks?\ 442}# - #{marks\ 2119}# - (vector-ref - (#{ribcage-marks\ 414}# - #{ribcage\ 2121}#) - #{i\ 2132}#)) - #f) - (values - (vector-ref - (#{ribcage-labels\ 416}# - #{ribcage\ 2121}#) - #{i\ 2132}#) - #{marks\ 2119}#) - (#{f\ 2131}# - (#{fx+\ 288}# #{i\ 2132}# 1))))))) - (begin (#{f\ 2131}# 0))))))) - (#{search-list-rib\ 2103}# - (lambda (#{sym\ 2140}# - #{subst\ 2141}# - #{marks\ 2142}# - #{symnames\ 2143}# - #{ribcage\ 2144}#) - (letrec* - ((#{f\ 2153}# - (lambda (#{symnames\ 2154}# #{i\ 2155}#) - (if (null? #{symnames\ 2154}#) - (#{search\ 2101}# - #{sym\ 2140}# - (cdr #{subst\ 2141}#) - #{marks\ 2142}#) - (if (if (eq? (car #{symnames\ 2154}#) - #{sym\ 2140}#) - (#{same-marks?\ 442}# - #{marks\ 2142}# - (list-ref - (#{ribcage-marks\ 414}# - #{ribcage\ 2144}#) - #{i\ 2155}#)) - #f) - (values - (list-ref - (#{ribcage-labels\ 416}# #{ribcage\ 2144}#) - #{i\ 2155}#) - #{marks\ 2142}#) - (#{f\ 2153}# - (cdr #{symnames\ 2154}#) - (#{fx+\ 288}# #{i\ 2155}# 1))))))) - (begin (#{f\ 2153}# #{symnames\ 2143}# 0))))) - (#{search\ 2101}# - (lambda (#{sym\ 2163}# #{subst\ 2164}# #{marks\ 2165}#) - (if (null? #{subst\ 2164}#) - (values #f #{marks\ 2165}#) - (begin - (let ((#{fst\ 2170}# (car #{subst\ 2164}#))) - (if (eq? #{fst\ 2170}# (quote shift)) - (#{search\ 2101}# - #{sym\ 2163}# - (cdr #{subst\ 2164}#) - (cdr #{marks\ 2165}#)) - (begin - (let ((#{symnames\ 2172}# - (#{ribcage-symnames\ 412}# - #{fst\ 2170}#))) - (if (vector? #{symnames\ 2172}#) - (#{search-vector-rib\ 2105}# - #{sym\ 2163}# - #{subst\ 2164}# - #{marks\ 2165}# - #{symnames\ 2172}# - #{fst\ 2170}#) - (#{search-list-rib\ 2103}# - #{sym\ 2163}# - #{subst\ 2164}# - #{marks\ 2165}# - #{symnames\ 2172}# - #{fst\ 2170}#))))))))))) - (begin - (if (symbol? #{id\ 2095}#) - (begin - (let ((#{t\ 2175}# - (call-with-values - (lambda () - (#{search\ 2101}# - #{id\ 2095}# - (#{wrap-subst\ 396}# #{w\ 2096}#) - (#{wrap-marks\ 394}# #{w\ 2096}#))) - (lambda (#{x\ 2177}# . #{ignore\ 2178}#) - #{x\ 2177}#)))) - (if #{t\ 2175}# #{t\ 2175}# #{id\ 2095}#))) - (if (#{syntax-object?\ 351}# #{id\ 2095}#) - (begin - (let ((#{id\ 2186}# - (#{syntax-object-expression\ 353}# - #{id\ 2095}#)) - (#{w1\ 2187}# - (#{syntax-object-wrap\ 355}# #{id\ 2095}#))) - (begin - (let ((#{marks\ 2189}# - (#{join-marks\ 440}# - (#{wrap-marks\ 394}# #{w\ 2096}#) - (#{wrap-marks\ 394}# #{w1\ 2187}#)))) - (call-with-values - (lambda () - (#{search\ 2101}# - #{id\ 2186}# - (#{wrap-subst\ 396}# #{w\ 2096}#) - #{marks\ 2189}#)) - (lambda (#{new-id\ 2190}# #{marks\ 2191}#) + #{mod\ 1695}# + #f)) + (lambda (#{type\ 1716}# + #{value\ 1717}# + #{e\ 1718}# + #{w\ 1719}# + #{s\ 1720}# + #{mod\ 1721}#) + (if (eqv? #{type\ 1716}# (quote begin-form)) + (let ((#{tmp\ 1729}# #{e\ 1718}#)) + (let ((#{tmp\ 1730}# + ($sc-dispatch #{tmp\ 1729}# (quote (any))))) + (if #{tmp\ 1730}# + (@apply + (lambda (#{_\ 1732}#) (#{chi-void\ 486}#)) + #{tmp\ 1730}#) + (let ((#{tmp\ 1733}# + ($sc-dispatch + #{tmp\ 1729}# + '(any any . each-any)))) + (if #{tmp\ 1733}# + (@apply + (lambda (#{_\ 1737}# #{e1\ 1738}# #{e2\ 1739}#) + (#{chi-top-sequence\ 462}# + (cons #{e1\ 1738}# #{e2\ 1739}#) + #{r\ 1691}# + #{w\ 1719}# + #{s\ 1720}# + #{m\ 1693}# + #{esew\ 1694}# + #{mod\ 1721}#)) + #{tmp\ 1733}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 1729}#)))))) + (if (eqv? #{type\ 1716}# (quote local-syntax-form)) + (#{chi-local-syntax\ 482}# + #{value\ 1717}# + #{e\ 1718}# + #{r\ 1691}# + #{w\ 1719}# + #{s\ 1720}# + #{mod\ 1721}# + (lambda (#{body\ 1742}# + #{r\ 1743}# + #{w\ 1744}# + #{s\ 1745}# + #{mod\ 1746}#) + (#{chi-top-sequence\ 462}# + #{body\ 1742}# + #{r\ 1743}# + #{w\ 1744}# + #{s\ 1745}# + #{m\ 1693}# + #{esew\ 1694}# + #{mod\ 1746}#))) + (if (eqv? #{type\ 1716}# (quote eval-when-form)) + (let ((#{tmp\ 1753}# #{e\ 1718}#)) + (let ((#{tmp\ 1754}# + ($sc-dispatch + #{tmp\ 1753}# + '(any each-any any . each-any)))) + (if #{tmp\ 1754}# + (@apply + (lambda (#{_\ 1759}# + #{x\ 1760}# + #{e1\ 1761}# + #{e2\ 1762}#) (begin - (let ((#{t\ 2196}# #{new-id\ 2190}#)) - (if #{t\ 2196}# - #{t\ 2196}# - (begin - (let ((#{t\ 2199}# - (call-with-values - (lambda () - (#{search\ 2101}# - #{id\ 2186}# - (#{wrap-subst\ 396}# - #{w1\ 2187}#) - #{marks\ 2191}#)) - (lambda (#{x\ 2201}# - . - #{ignore\ 2202}#) - #{x\ 2201}#)))) - (if #{t\ 2199}# - #{t\ 2199}# - #{id\ 2186}#)))))))))))) - (syntax-violation - 'id-var-name - "invalid id" - #{id\ 2095}#))))))) - (#{same-marks?\ 442}# - (lambda (#{x\ 2207}# #{y\ 2208}#) - (begin - (let ((#{t\ 2213}# (eq? #{x\ 2207}# #{y\ 2208}#))) - (if #{t\ 2213}# - #{t\ 2213}# - (if (not (null? #{x\ 2207}#)) - (if (not (null? #{y\ 2208}#)) - (if (eq? (car #{x\ 2207}#) (car #{y\ 2208}#)) - (#{same-marks?\ 442}# - (cdr #{x\ 2207}#) - (cdr #{y\ 2208}#)) - #f) - #f) - #f)))))) - (#{join-marks\ 440}# - (lambda (#{m1\ 2219}# #{m2\ 2220}#) - (#{smart-append\ 436}# #{m1\ 2219}# #{m2\ 2220}#))) - (#{join-wraps\ 438}# - (lambda (#{w1\ 2223}# #{w2\ 2224}#) - (begin - (let ((#{m1\ 2229}# (#{wrap-marks\ 394}# #{w1\ 2223}#)) - (#{s1\ 2230}# (#{wrap-subst\ 396}# #{w1\ 2223}#))) - (if (null? #{m1\ 2229}#) - (if (null? #{s1\ 2230}#) - #{w2\ 2224}# - (#{make-wrap\ 392}# - (#{wrap-marks\ 394}# #{w2\ 2224}#) - (#{smart-append\ 436}# - #{s1\ 2230}# - (#{wrap-subst\ 396}# #{w2\ 2224}#)))) - (#{make-wrap\ 392}# - (#{smart-append\ 436}# - #{m1\ 2229}# - (#{wrap-marks\ 394}# #{w2\ 2224}#)) - (#{smart-append\ 436}# - #{s1\ 2230}# - (#{wrap-subst\ 396}# #{w2\ 2224}#)))))))) - (#{smart-append\ 436}# - (lambda (#{m1\ 2231}# #{m2\ 2232}#) - (if (null? #{m2\ 2232}#) - #{m1\ 2231}# - (append #{m1\ 2231}# #{m2\ 2232}#)))) - (#{make-binding-wrap\ 434}# - (lambda (#{ids\ 2235}# #{labels\ 2236}# #{w\ 2237}#) - (if (null? #{ids\ 2235}#) - #{w\ 2237}# - (#{make-wrap\ 392}# - (#{wrap-marks\ 394}# #{w\ 2237}#) - (cons (begin - (let ((#{labelvec\ 2242}# - (list->vector #{labels\ 2236}#))) + (let ((#{when-list\ 1765}# + (#{chi-when-list\ 466}# + #{e\ 1718}# + #{x\ 1760}# + #{w\ 1719}#)) + (#{body\ 1766}# + (cons #{e1\ 1761}# #{e2\ 1762}#))) + (if (eq? #{m\ 1693}# (quote e)) + (if (memq 'eval + #{when-list\ 1765}#) + (#{chi-top-sequence\ 462}# + #{body\ 1766}# + #{r\ 1691}# + #{w\ 1719}# + #{s\ 1720}# + (if (memq 'expand + #{when-list\ 1765}#) + 'c&e + 'e) + '(eval) + #{mod\ 1721}#) + (begin + (if (memq 'expand + #{when-list\ 1765}#) + (#{top-level-eval-hook\ 296}# + (#{chi-top-sequence\ 462}# + #{body\ 1766}# + #{r\ 1691}# + #{w\ 1719}# + #{s\ 1720}# + 'e + '(eval) + #{mod\ 1721}#) + #{mod\ 1721}#)) + (#{chi-void\ 486}#))) + (if (memq 'load + #{when-list\ 1765}#) + (if (begin + (let ((#{t\ 1775}# + (memq 'compile + #{when-list\ 1765}#))) + (if #{t\ 1775}# + #{t\ 1775}# + (begin + (let ((#{t\ 1778}# + (memq 'expand + #{when-list\ 1765}#))) + (if #{t\ 1778}# + #{t\ 1778}# + (if (eq? #{m\ 1693}# + 'c&e) + (memq 'eval + #{when-list\ 1765}#) + #f))))))) + (#{chi-top-sequence\ 462}# + #{body\ 1766}# + #{r\ 1691}# + #{w\ 1719}# + #{s\ 1720}# + 'c&e + '(compile load) + #{mod\ 1721}#) + (if (if (eq? #{m\ 1693}# (quote c)) + #t + (eq? #{m\ 1693}# (quote c&e))) + (#{chi-top-sequence\ 462}# + #{body\ 1766}# + #{r\ 1691}# + #{w\ 1719}# + #{s\ 1720}# + 'c + '(load) + #{mod\ 1721}#) + (#{chi-void\ 486}#))) + (if (begin + (let ((#{t\ 1786}# + (memq 'compile + #{when-list\ 1765}#))) + (if #{t\ 1786}# + #{t\ 1786}# + (begin + (let ((#{t\ 1789}# + (memq 'expand + #{when-list\ 1765}#))) + (if #{t\ 1789}# + #{t\ 1789}# + (if (eq? #{m\ 1693}# + 'c&e) + (memq 'eval + #{when-list\ 1765}#) + #f))))))) + (begin + (#{top-level-eval-hook\ 296}# + (#{chi-top-sequence\ 462}# + #{body\ 1766}# + #{r\ 1691}# + #{w\ 1719}# + #{s\ 1720}# + 'e + '(eval) + #{mod\ 1721}#) + #{mod\ 1721}#) + (#{chi-void\ 486}#)) + (#{chi-void\ 486}#))))))) + #{tmp\ 1754}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 1753}#)))) + (if (eqv? #{type\ 1716}# (quote define-syntax-form)) + (begin + (let ((#{n\ 1797}# + (#{id-var-name\ 444}# + #{value\ 1717}# + #{w\ 1719}#)) + (#{r\ 1798}# + (#{macros-only-env\ 379}# #{r\ 1691}#))) + (if (eqv? #{m\ 1693}# (quote c)) + (if (memq (quote compile) #{esew\ 1694}#) + (begin + (let ((#{e\ 1801}# + (#{chi-install-global\ 464}# + #{n\ 1797}# + (#{chi\ 472}# + #{e\ 1718}# + #{r\ 1798}# + #{w\ 1719}# + #{mod\ 1721}#)))) + (begin + (#{top-level-eval-hook\ 296}# + #{e\ 1801}# + #{mod\ 1721}#) + (if (memq (quote load) #{esew\ 1694}#) + #{e\ 1801}# + (#{chi-void\ 486}#))))) + (if (memq (quote load) #{esew\ 1694}#) + (#{chi-install-global\ 464}# + #{n\ 1797}# + (#{chi\ 472}# + #{e\ 1718}# + #{r\ 1798}# + #{w\ 1719}# + #{mod\ 1721}#)) + (#{chi-void\ 486}#))) + (if (eqv? #{m\ 1693}# (quote c&e)) + (begin + (let ((#{e\ 1804}# + (#{chi-install-global\ 464}# + #{n\ 1797}# + (#{chi\ 472}# + #{e\ 1718}# + #{r\ 1798}# + #{w\ 1719}# + #{mod\ 1721}#)))) + (begin + (#{top-level-eval-hook\ 296}# + #{e\ 1804}# + #{mod\ 1721}#) + #{e\ 1804}#))) + (begin + (if (memq (quote eval) #{esew\ 1694}#) + (#{top-level-eval-hook\ 296}# + (#{chi-install-global\ 464}# + #{n\ 1797}# + (#{chi\ 472}# + #{e\ 1718}# + #{r\ 1798}# + #{w\ 1719}# + #{mod\ 1721}#)) + #{mod\ 1721}#)) + (#{chi-void\ 486}#)))))) + (if (eqv? #{type\ 1716}# (quote define-form)) (begin - (let ((#{n\ 2244}# - (vector-length #{labelvec\ 2242}#))) + (let ((#{n\ 1809}# + (#{id-var-name\ 444}# + #{value\ 1717}# + #{w\ 1719}#))) (begin - (let ((#{symnamevec\ 2247}# - (make-vector #{n\ 2244}#)) - (#{marksvec\ 2248}# - (make-vector #{n\ 2244}#))) - (begin - (letrec* - ((#{f\ 2252}# - (lambda (#{ids\ 2253}# #{i\ 2254}#) - (if (not (null? #{ids\ 2253}#)) - (call-with-values - (lambda () - (#{id-sym-name&marks\ 390}# - (car #{ids\ 2253}#) - #{w\ 2237}#)) - (lambda (#{symname\ 2255}# - #{marks\ 2256}#) - (begin - (vector-set! - #{symnamevec\ 2247}# - #{i\ 2254}# - #{symname\ 2255}#) - (vector-set! - #{marksvec\ 2248}# - #{i\ 2254}# - #{marks\ 2256}#) - (#{f\ 2252}# - (cdr #{ids\ 2253}#) - (#{fx+\ 288}# - #{i\ 2254}# - 1))))))))) - (begin (#{f\ 2252}# #{ids\ 2235}# 0))) - (#{make-ribcage\ 408}# - #{symnamevec\ 2247}# - #{marksvec\ 2248}# - #{labelvec\ 2242}#)))))))) - (#{wrap-subst\ 396}# #{w\ 2237}#)))))) - (#{extend-ribcage!\ 432}# - (lambda (#{ribcage\ 2259}# #{id\ 2260}# #{label\ 2261}#) - (begin - (#{set-ribcage-symnames!\ 418}# - #{ribcage\ 2259}# - (cons (#{syntax-object-expression\ 353}# #{id\ 2260}#) - (#{ribcage-symnames\ 412}# #{ribcage\ 2259}#))) - (#{set-ribcage-marks!\ 420}# - #{ribcage\ 2259}# - (cons (#{wrap-marks\ 394}# - (#{syntax-object-wrap\ 355}# #{id\ 2260}#)) - (#{ribcage-marks\ 414}# #{ribcage\ 2259}#))) - (#{set-ribcage-labels!\ 422}# - #{ribcage\ 2259}# - (cons #{label\ 2261}# - (#{ribcage-labels\ 416}# #{ribcage\ 2259}#)))))) - (#{anti-mark\ 428}# - (lambda (#{w\ 2265}#) - (#{make-wrap\ 392}# - (cons #f (#{wrap-marks\ 394}# #{w\ 2265}#)) - (cons 'shift - (#{wrap-subst\ 396}# #{w\ 2265}#))))) - (#{set-ribcage-labels!\ 422}# - (lambda (#{x\ 2268}# #{update\ 2269}#) - (vector-set! #{x\ 2268}# 3 #{update\ 2269}#))) - (#{set-ribcage-marks!\ 420}# - (lambda (#{x\ 2272}# #{update\ 2273}#) - (vector-set! #{x\ 2272}# 2 #{update\ 2273}#))) - (#{set-ribcage-symnames!\ 418}# - (lambda (#{x\ 2276}# #{update\ 2277}#) - (vector-set! #{x\ 2276}# 1 #{update\ 2277}#))) - (#{ribcage-labels\ 416}# - (lambda (#{x\ 2280}#) (vector-ref #{x\ 2280}# 3))) - (#{ribcage-marks\ 414}# - (lambda (#{x\ 2282}#) (vector-ref #{x\ 2282}# 2))) - (#{ribcage-symnames\ 412}# - (lambda (#{x\ 2284}#) (vector-ref #{x\ 2284}# 1))) - (#{make-ribcage\ 408}# - (lambda (#{symnames\ 2291}# - #{marks\ 2292}# - #{labels\ 2293}#) - (vector - 'ribcage - #{symnames\ 2291}# - #{marks\ 2292}# - #{labels\ 2293}#))) - (#{gen-labels\ 405}# - (lambda (#{ls\ 2297}#) - (if (null? #{ls\ 2297}#) - '() - (cons (#{gen-label\ 403}#) - (#{gen-labels\ 405}# (cdr #{ls\ 2297}#)))))) - (#{gen-label\ 403}# - (lambda () (symbol->string (gensym "i")))) - (#{id-sym-name&marks\ 390}# - (lambda (#{x\ 2299}# #{w\ 2300}#) - (if (#{syntax-object?\ 351}# #{x\ 2299}#) - (values - (#{syntax-object-expression\ 353}# #{x\ 2299}#) - (#{join-marks\ 440}# - (#{wrap-marks\ 394}# #{w\ 2300}#) - (#{wrap-marks\ 394}# - (#{syntax-object-wrap\ 355}# #{x\ 2299}#)))) - (values - #{x\ 2299}# - (#{wrap-marks\ 394}# #{w\ 2300}#))))) - (#{id?\ 387}# - (lambda (#{x\ 2303}#) - (if (symbol? #{x\ 2303}#) - #t - (if (#{syntax-object?\ 351}# #{x\ 2303}#) - (symbol? - (#{syntax-object-expression\ 353}# #{x\ 2303}#)) - #f)))) - (#{nonsymbol-id?\ 385}# - (lambda (#{x\ 2310}#) - (if (#{syntax-object?\ 351}# #{x\ 2310}#) - (symbol? - (#{syntax-object-expression\ 353}# #{x\ 2310}#)) - #f))) - (#{global-extend\ 383}# - (lambda (#{type\ 2314}# #{sym\ 2315}# #{val\ 2316}#) - (#{put-global-definition-hook\ 301}# - #{sym\ 2315}# - #{type\ 2314}# - #{val\ 2316}#))) - (#{lookup\ 381}# - (lambda (#{x\ 2320}# #{r\ 2321}# #{mod\ 2322}#) - (begin - (let ((#{t\ 2328}# (assq #{x\ 2320}# #{r\ 2321}#))) - (if #{t\ 2328}# - (cdr #{t\ 2328}#) - (if (symbol? #{x\ 2320}#) - (begin - (let ((#{t\ 2334}# - (#{get-global-definition-hook\ 303}# - #{x\ 2320}# - #{mod\ 2322}#))) - (if #{t\ 2334}# #{t\ 2334}# (quote (global))))) - '(displaced-lexical))))))) - (#{macros-only-env\ 379}# - (lambda (#{r\ 2339}#) - (if (null? #{r\ 2339}#) - '() - (begin - (let ((#{a\ 2342}# (car #{r\ 2339}#))) - (if (eq? (car (cdr #{a\ 2342}#)) (quote macro)) - (cons #{a\ 2342}# - (#{macros-only-env\ 379}# (cdr #{r\ 2339}#))) - (#{macros-only-env\ 379}# (cdr #{r\ 2339}#)))))))) - (#{extend-var-env\ 377}# - (lambda (#{labels\ 2343}# #{vars\ 2344}# #{r\ 2345}#) - (if (null? #{labels\ 2343}#) - #{r\ 2345}# - (#{extend-var-env\ 377}# - (cdr #{labels\ 2343}#) - (cdr #{vars\ 2344}#) - (cons (cons (car #{labels\ 2343}#) - (cons (quote lexical) (car #{vars\ 2344}#))) - #{r\ 2345}#))))) - (#{extend-env\ 375}# - (lambda (#{labels\ 2350}# #{bindings\ 2351}# #{r\ 2352}#) - (if (null? #{labels\ 2350}#) - #{r\ 2352}# - (#{extend-env\ 375}# - (cdr #{labels\ 2350}#) - (cdr #{bindings\ 2351}#) - (cons (cons (car #{labels\ 2350}#) - (car #{bindings\ 2351}#)) - #{r\ 2352}#))))) - (#{source-annotation\ 366}# - (lambda (#{x\ 2356}#) - (if (#{syntax-object?\ 351}# #{x\ 2356}#) - (#{source-annotation\ 366}# - (#{syntax-object-expression\ 353}# #{x\ 2356}#)) - (if (pair? #{x\ 2356}#) - (begin - (let ((#{props\ 2363}# (source-properties #{x\ 2356}#))) - (if (pair? #{props\ 2363}#) #{props\ 2363}# #f))) - #f)))) - (#{syntax-object-module\ 357}# - (lambda (#{x\ 2377}#) (vector-ref #{x\ 2377}# 3))) - (#{syntax-object-wrap\ 355}# - (lambda (#{x\ 2379}#) (vector-ref #{x\ 2379}# 2))) - (#{syntax-object-expression\ 353}# - (lambda (#{x\ 2381}#) (vector-ref #{x\ 2381}# 1))) - (#{syntax-object?\ 351}# - (lambda (#{x\ 2383}#) - (if (vector? #{x\ 2383}#) - (if (= (vector-length #{x\ 2383}#) 4) - (eq? (vector-ref #{x\ 2383}# 0) - 'syntax-object) - #f) - #f))) - (#{make-syntax-object\ 349}# - (lambda (#{expression\ 2388}# - #{wrap\ 2389}# - #{module\ 2390}#) - (vector - 'syntax-object - #{expression\ 2388}# - #{wrap\ 2389}# - #{module\ 2390}#))) - (#{build-letrec\ 345}# - (lambda (#{src\ 2394}# - #{in-order?\ 2395}# - #{ids\ 2396}# - #{vars\ 2397}# - #{val-exps\ 2398}# - #{body-exp\ 2399}#) - (if (null? #{vars\ 2397}#) - #{body-exp\ 2399}# - (begin - (for-each - #{maybe-name-value!\ 325}# - #{ids\ 2396}# - #{val-exps\ 2398}#) - (#{make-letrec\ 277}# - #{src\ 2394}# - #{in-order?\ 2395}# - #{ids\ 2396}# - #{vars\ 2397}# - #{val-exps\ 2398}# - #{body-exp\ 2399}#))))) - (#{build-named-let\ 343}# - (lambda (#{src\ 2406}# - #{ids\ 2407}# - #{vars\ 2408}# - #{val-exps\ 2409}# - #{body-exp\ 2410}#) - (begin - (let ((#{f\ 2420}# (car #{vars\ 2408}#)) - (#{f-name\ 2421}# (car #{ids\ 2407}#)) - (#{vars\ 2422}# (cdr #{vars\ 2408}#)) - (#{ids\ 2423}# (cdr #{ids\ 2407}#))) - (begin - (let ((#{proc\ 2425}# - (#{build-simple-lambda\ 329}# - #{src\ 2406}# - #{ids\ 2423}# - #f - #{vars\ 2422}# - '() - #{body-exp\ 2410}#))) - (begin - (#{maybe-name-value!\ 325}# - #{f-name\ 2421}# - #{proc\ 2425}#) - (for-each - #{maybe-name-value!\ 325}# - #{ids\ 2423}# - #{val-exps\ 2409}#) - (#{make-letrec\ 277}# - #{src\ 2406}# - #f - (list #{f-name\ 2421}#) - (list #{f\ 2420}#) - (list #{proc\ 2425}#) - (#{build-application\ 309}# - #{src\ 2406}# + (let ((#{type\ 1811}# + (#{binding-type\ 370}# + (#{lookup\ 381}# + #{n\ 1809}# + #{r\ 1691}# + #{mod\ 1721}#)))) + (if (if (eqv? #{type\ 1811}# (quote global)) + #t + (if (eqv? #{type\ 1811}# (quote core)) + #t + (if (eqv? #{type\ 1811}# + 'macro) + #t + (eqv? #{type\ 1811}# + 'module-ref)))) + (begin + (if (if (if (eq? #{m\ 1693}# (quote c)) + #t + (eq? #{m\ 1693}# (quote c&e))) + (if (not (module-local-variable + (current-module) + #{n\ 1809}#)) + (current-module) + #f) + #f) + (begin + (let ((#{old\ 1817}# + (module-variable + (current-module) + #{n\ 1809}#))) + (module-define! + (current-module) + #{n\ 1809}# + (if (variable? #{old\ 1817}#) + (variable-ref #{old\ 1817}#) + #f))))) + (begin + (let ((#{x\ 1820}# + (#{build-global-definition\ 327}# + #{s\ 1720}# + #{n\ 1809}# + (#{chi\ 472}# + #{e\ 1718}# + #{r\ 1691}# + #{w\ 1719}# + #{mod\ 1721}#)))) + (begin + (if (eq? #{m\ 1693}# (quote c&e)) + (#{top-level-eval-hook\ 296}# + #{x\ 1820}# + #{mod\ 1721}#)) + #{x\ 1820}#)))) + (if (eqv? #{type\ 1811}# + 'displaced-lexical) + (syntax-violation + #f + "identifier out of context" + #{e\ 1718}# + (#{wrap\ 456}# + #{value\ 1717}# + #{w\ 1719}# + #{mod\ 1721}#)) + (syntax-violation + #f + "cannot define keyword at top level" + #{e\ 1718}# + (#{wrap\ 456}# + #{value\ 1717}# + #{w\ 1719}# + #{mod\ 1721}#)))))))) + (begin + (let ((#{x\ 1826}# + (#{chi-expr\ 474}# + #{type\ 1716}# + #{value\ 1717}# + #{e\ 1718}# + #{r\ 1691}# + #{w\ 1719}# + #{s\ 1720}# + #{mod\ 1721}#))) + (begin + (if (eq? #{m\ 1693}# (quote c&e)) + (#{top-level-eval-hook\ 296}# + #{x\ 1826}# + #{mod\ 1721}#)) + #{x\ 1826}#)))))))))))) + (#{chi\ 472}# + (lambda (#{e\ 1827}# + #{r\ 1828}# + #{w\ 1829}# + #{mod\ 1830}#) + (call-with-values + (lambda () + (#{syntax-type\ 468}# + #{e\ 1827}# + #{r\ 1828}# + #{w\ 1829}# + (#{source-annotation\ 366}# #{e\ 1827}#) + #f + #{mod\ 1830}# + #f)) + (lambda (#{type\ 1835}# + #{value\ 1836}# + #{e\ 1837}# + #{w\ 1838}# + #{s\ 1839}# + #{mod\ 1840}#) + (#{chi-expr\ 474}# + #{type\ 1835}# + #{value\ 1836}# + #{e\ 1837}# + #{r\ 1828}# + #{w\ 1838}# + #{s\ 1839}# + #{mod\ 1840}#))))) + (#{chi-expr\ 474}# + (lambda (#{type\ 1847}# + #{value\ 1848}# + #{e\ 1849}# + #{r\ 1850}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#) + (if (eqv? #{type\ 1847}# (quote lexical)) + (#{build-lexical-reference\ 315}# + 'value + #{s\ 1852}# + #{e\ 1849}# + #{value\ 1848}#) + (if (if (eqv? #{type\ 1847}# (quote core)) + #t + (eqv? #{type\ 1847}# (quote core-form))) + (#{value\ 1848}# + #{e\ 1849}# + #{r\ 1850}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#) + (if (eqv? #{type\ 1847}# (quote module-ref)) + (call-with-values + (lambda () + (#{value\ 1848}# + #{e\ 1849}# + #{r\ 1850}# + #{w\ 1851}#)) + (lambda (#{e\ 1864}# + #{r\ 1865}# + #{w\ 1866}# + #{s\ 1867}# + #{mod\ 1868}#) + (#{chi\ 472}# + #{e\ 1864}# + #{r\ 1865}# + #{w\ 1866}# + #{mod\ 1868}#))) + (if (eqv? #{type\ 1847}# (quote lexical-call)) + (#{chi-application\ 476}# + (begin + (let ((#{id\ 1876}# (car #{e\ 1849}#))) (#{build-lexical-reference\ 315}# 'fun - #{src\ 2406}# - #{f-name\ 2421}# - #{f\ 2420}#) - #{val-exps\ 2409}#))))))))) - (#{build-let\ 341}# - (lambda (#{src\ 2426}# - #{ids\ 2427}# - #{vars\ 2428}# - #{val-exps\ 2429}# - #{body-exp\ 2430}#) - (begin - (for-each - #{maybe-name-value!\ 325}# - #{ids\ 2427}# - #{val-exps\ 2429}#) - (if (null? #{vars\ 2428}#) - #{body-exp\ 2430}# - (#{make-let\ 275}# - #{src\ 2426}# - #{ids\ 2427}# - #{vars\ 2428}# - #{val-exps\ 2429}# - #{body-exp\ 2430}#))))) - (#{build-sequence\ 339}# - (lambda (#{src\ 2436}# #{exps\ 2437}#) - (if (null? (cdr #{exps\ 2437}#)) - (car #{exps\ 2437}#) - (#{make-sequence\ 269}# - #{src\ 2436}# - #{exps\ 2437}#)))) - (#{build-data\ 337}# - (lambda (#{src\ 2440}# #{exp\ 2441}#) - (#{make-const\ 247}# #{src\ 2440}# #{exp\ 2441}#))) - (#{build-primref\ 335}# - (lambda (#{src\ 2444}# #{name\ 2445}#) - (if (equal? - (module-name (current-module)) - '(guile)) - (#{make-toplevel-ref\ 259}# - #{src\ 2444}# - #{name\ 2445}#) - (#{make-module-ref\ 255}# - #{src\ 2444}# - '(guile) - #{name\ 2445}# - #f)))) - (#{build-lambda-case\ 333}# - (lambda (#{src\ 2448}# - #{req\ 2449}# - #{opt\ 2450}# - #{rest\ 2451}# - #{kw\ 2452}# - #{inits\ 2453}# - #{vars\ 2454}# - #{body\ 2455}# - #{else-case\ 2456}#) - (#{make-lambda-case\ 273}# - #{src\ 2448}# - #{req\ 2449}# - #{opt\ 2450}# - #{rest\ 2451}# - #{kw\ 2452}# - #{inits\ 2453}# - #{vars\ 2454}# - #{body\ 2455}# - #{else-case\ 2456}#))) - (#{build-case-lambda\ 331}# - (lambda (#{src\ 2466}# #{meta\ 2467}# #{body\ 2468}#) - (#{make-lambda\ 271}# - #{src\ 2466}# - #{meta\ 2467}# - #{body\ 2468}#))) - (#{build-simple-lambda\ 329}# - (lambda (#{src\ 2472}# - #{req\ 2473}# - #{rest\ 2474}# - #{vars\ 2475}# - #{meta\ 2476}# - #{exp\ 2477}#) - (#{make-lambda\ 271}# - #{src\ 2472}# - #{meta\ 2476}# - (#{make-lambda-case\ 273}# - #{src\ 2472}# - #{req\ 2473}# - #f - #{rest\ 2474}# - #f - '() - #{vars\ 2475}# - #{exp\ 2477}# - #f)))) - (#{build-global-definition\ 327}# - (lambda (#{source\ 2484}# #{var\ 2485}# #{exp\ 2486}#) - (begin - (#{maybe-name-value!\ 325}# - #{var\ 2485}# - #{exp\ 2486}#) - (#{make-toplevel-define\ 263}# - #{source\ 2484}# - #{var\ 2485}# - #{exp\ 2486}#)))) - (#{maybe-name-value!\ 325}# - (lambda (#{name\ 2490}# #{val\ 2491}#) - (if (#{lambda?\ 282}# #{val\ 2491}#) + (#{source-annotation\ 366}# #{id\ 1876}#) + (if (#{syntax-object?\ 351}# #{id\ 1876}#) + (syntax->datum #{id\ 1876}#) + #{id\ 1876}#) + #{value\ 1848}#))) + #{e\ 1849}# + #{r\ 1850}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#) + (if (eqv? #{type\ 1847}# (quote global-call)) + (#{chi-application\ 476}# + (#{build-global-reference\ 321}# + (#{source-annotation\ 366}# (car #{e\ 1849}#)) + (if (#{syntax-object?\ 351}# #{value\ 1848}#) + (#{syntax-object-expression\ 353}# + #{value\ 1848}#) + #{value\ 1848}#) + (if (#{syntax-object?\ 351}# #{value\ 1848}#) + (#{syntax-object-module\ 357}# #{value\ 1848}#) + #{mod\ 1853}#)) + #{e\ 1849}# + #{r\ 1850}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#) + (if (eqv? #{type\ 1847}# (quote constant)) + (#{build-data\ 337}# + #{s\ 1852}# + (#{strip\ 498}# + (#{source-wrap\ 458}# + #{e\ 1849}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#) + '(()))) + (if (eqv? #{type\ 1847}# (quote global)) + (#{build-global-reference\ 321}# + #{s\ 1852}# + #{value\ 1848}# + #{mod\ 1853}#) + (if (eqv? #{type\ 1847}# (quote call)) + (#{chi-application\ 476}# + (#{chi\ 472}# + (car #{e\ 1849}#) + #{r\ 1850}# + #{w\ 1851}# + #{mod\ 1853}#) + #{e\ 1849}# + #{r\ 1850}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#) + (if (eqv? #{type\ 1847}# (quote begin-form)) + (let ((#{tmp\ 1883}# #{e\ 1849}#)) + (let ((#{tmp\ 1884}# + ($sc-dispatch + #{tmp\ 1883}# + '(any any . each-any)))) + (if #{tmp\ 1884}# + (@apply + (lambda (#{_\ 1888}# + #{e1\ 1889}# + #{e2\ 1890}#) + (#{chi-sequence\ 460}# + (cons #{e1\ 1889}# #{e2\ 1890}#) + #{r\ 1850}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#)) + #{tmp\ 1884}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 1883}#)))) + (if (eqv? #{type\ 1847}# + 'local-syntax-form) + (#{chi-local-syntax\ 482}# + #{value\ 1848}# + #{e\ 1849}# + #{r\ 1850}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}# + #{chi-sequence\ 460}#) + (if (eqv? #{type\ 1847}# + 'eval-when-form) + (let ((#{tmp\ 1894}# #{e\ 1849}#)) + (let ((#{tmp\ 1895}# + ($sc-dispatch + #{tmp\ 1894}# + '(any each-any + any + . + each-any)))) + (if #{tmp\ 1895}# + (@apply + (lambda (#{_\ 1900}# + #{x\ 1901}# + #{e1\ 1902}# + #{e2\ 1903}#) + (begin + (let ((#{when-list\ 1905}# + (#{chi-when-list\ 466}# + #{e\ 1849}# + #{x\ 1901}# + #{w\ 1851}#))) + (if (memq 'eval + #{when-list\ 1905}#) + (#{chi-sequence\ 460}# + (cons #{e1\ 1902}# + #{e2\ 1903}#) + #{r\ 1850}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#) + (#{chi-void\ 486}#))))) + #{tmp\ 1895}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 1894}#)))) + (if (if (eqv? #{type\ 1847}# + 'define-form) + #t + (eqv? #{type\ 1847}# + 'define-syntax-form)) + (syntax-violation + #f + "definition in expression context" + #{e\ 1849}# + (#{wrap\ 456}# + #{value\ 1848}# + #{w\ 1851}# + #{mod\ 1853}#)) + (if (eqv? #{type\ 1847}# (quote syntax)) + (syntax-violation + #f + "reference to pattern variable outside syntax form" + (#{source-wrap\ 458}# + #{e\ 1849}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#)) + (if (eqv? #{type\ 1847}# + 'displaced-lexical) + (syntax-violation + #f + "reference to identifier outside its scope" + (#{source-wrap\ 458}# + #{e\ 1849}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#)) + (syntax-violation + #f + "unexpected syntax" + (#{source-wrap\ 458}# + #{e\ 1849}# + #{w\ 1851}# + #{s\ 1852}# + #{mod\ 1853}#)))))))))))))))))) + (#{chi-application\ 476}# + (lambda (#{x\ 1912}# + #{e\ 1913}# + #{r\ 1914}# + #{w\ 1915}# + #{s\ 1916}# + #{mod\ 1917}#) + (let ((#{tmp\ 1924}# #{e\ 1913}#)) + (let ((#{tmp\ 1925}# + ($sc-dispatch + #{tmp\ 1924}# + '(any . each-any)))) + (if #{tmp\ 1925}# + (@apply + (lambda (#{e0\ 1928}# #{e1\ 1929}#) + (#{build-application\ 309}# + #{s\ 1916}# + #{x\ 1912}# + (map (lambda (#{e\ 1930}#) + (#{chi\ 472}# + #{e\ 1930}# + #{r\ 1914}# + #{w\ 1915}# + #{mod\ 1917}#)) + #{e1\ 1929}#))) + #{tmp\ 1925}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 1924}#)))))) + (#{chi-macro\ 478}# + (lambda (#{p\ 1933}# + #{e\ 1934}# + #{r\ 1935}# + #{w\ 1936}# + #{s\ 1937}# + #{rib\ 1938}# + #{mod\ 1939}#) + (letrec* + ((#{rebuild-macro-output\ 1948}# + (lambda (#{x\ 1949}# #{m\ 1950}#) + (if (pair? #{x\ 1949}#) + (#{decorate-source\ 305}# + (cons (#{rebuild-macro-output\ 1948}# + (car #{x\ 1949}#) + #{m\ 1950}#) + (#{rebuild-macro-output\ 1948}# + (cdr #{x\ 1949}#) + #{m\ 1950}#)) + #{s\ 1937}#) + (if (#{syntax-object?\ 351}# #{x\ 1949}#) + (begin + (let ((#{w\ 1958}# + (#{syntax-object-wrap\ 355}# #{x\ 1949}#))) + (begin + (let ((#{ms\ 1961}# + (#{wrap-marks\ 394}# #{w\ 1958}#)) + (#{s\ 1962}# + (#{wrap-subst\ 396}# #{w\ 1958}#))) + (if (if (pair? #{ms\ 1961}#) + (eq? (car #{ms\ 1961}#) #f) + #f) + (#{make-syntax-object\ 349}# + (#{syntax-object-expression\ 353}# + #{x\ 1949}#) + (#{make-wrap\ 392}# + (cdr #{ms\ 1961}#) + (if #{rib\ 1938}# + (cons #{rib\ 1938}# (cdr #{s\ 1962}#)) + (cdr #{s\ 1962}#))) + (#{syntax-object-module\ 357}# + #{x\ 1949}#)) + (#{make-syntax-object\ 349}# + (#{decorate-source\ 305}# + (#{syntax-object-expression\ 353}# + #{x\ 1949}#) + #{s\ 1962}#) + (#{make-wrap\ 392}# + (cons #{m\ 1950}# #{ms\ 1961}#) + (if #{rib\ 1938}# + (cons #{rib\ 1938}# + (cons (quote shift) #{s\ 1962}#)) + (cons (quote shift) #{s\ 1962}#))) + (#{syntax-object-module\ 357}# + #{x\ 1949}#))))))) + (if (vector? #{x\ 1949}#) + (begin + (let ((#{n\ 1970}# (vector-length #{x\ 1949}#))) + (begin + (let ((#{v\ 1972}# + (#{decorate-source\ 305}# + (make-vector #{n\ 1970}#) + #{x\ 1949}#))) + (letrec* + ((#{loop\ 1975}# + (lambda (#{i\ 1976}#) + (if (#{fx=\ 292}# + #{i\ 1976}# + #{n\ 1970}#) + (begin (if #f #f) #{v\ 1972}#) + (begin + (vector-set! + #{v\ 1972}# + #{i\ 1976}# + (#{rebuild-macro-output\ 1948}# + (vector-ref + #{x\ 1949}# + #{i\ 1976}#) + #{m\ 1950}#)) + (#{loop\ 1975}# + (#{fx+\ 288}# + #{i\ 1976}# + 1))))))) + (begin (#{loop\ 1975}# 0))))))) + (if (symbol? #{x\ 1949}#) + (syntax-violation + #f + "encountered raw symbol in macro output" + (#{source-wrap\ 458}# + #{e\ 1934}# + #{w\ 1936}# + (#{wrap-subst\ 396}# #{w\ 1936}#) + #{mod\ 1939}#) + #{x\ 1949}#) + (#{decorate-source\ 305}# + #{x\ 1949}# + #{s\ 1937}#)))))))) (begin - (let ((#{meta\ 2495}# - (#{lambda-meta\ 284}# #{val\ 2491}#))) - (if (not (assq (quote name) #{meta\ 2495}#)) - (#{set-lambda-meta!\ 286}# - #{val\ 2491}# - (cons (cons (quote name) #{name\ 2490}#) - #{meta\ 2495}#)))))))) - (#{build-global-assignment\ 323}# - (lambda (#{source\ 2496}# - #{var\ 2497}# - #{exp\ 2498}# - #{mod\ 2499}#) - (#{analyze-variable\ 319}# - #{mod\ 2499}# - #{var\ 2497}# - (lambda (#{mod\ 2504}# #{var\ 2505}# #{public?\ 2506}#) - (#{make-module-set\ 257}# - #{source\ 2496}# - #{mod\ 2504}# - #{var\ 2505}# - #{public?\ 2506}# - #{exp\ 2498}#)) - (lambda (#{var\ 2510}#) - (#{make-toplevel-set\ 261}# - #{source\ 2496}# - #{var\ 2510}# - #{exp\ 2498}#))))) - (#{build-global-reference\ 321}# - (lambda (#{source\ 2512}# #{var\ 2513}# #{mod\ 2514}#) - (#{analyze-variable\ 319}# - #{mod\ 2514}# - #{var\ 2513}# - (lambda (#{mod\ 2518}# #{var\ 2519}# #{public?\ 2520}#) - (#{make-module-ref\ 255}# - #{source\ 2512}# - #{mod\ 2518}# - #{var\ 2519}# - #{public?\ 2520}#)) - (lambda (#{var\ 2524}#) - (#{make-toplevel-ref\ 259}# - #{source\ 2512}# - #{var\ 2524}#))))) - (#{analyze-variable\ 319}# - (lambda (#{mod\ 2526}# - #{var\ 2527}# - #{modref-cont\ 2528}# - #{bare-cont\ 2529}#) - (if (not #{mod\ 2526}#) - (#{bare-cont\ 2529}# #{var\ 2527}#) + (#{rebuild-macro-output\ 1948}# + (#{p\ 1933}# + (#{source-wrap\ 458}# + #{e\ 1934}# + (#{anti-mark\ 428}# #{w\ 1936}#) + #{s\ 1937}# + #{mod\ 1939}#)) + (gensym "m")))))) + (#{chi-body\ 480}# + (lambda (#{body\ 1983}# + #{outer-form\ 1984}# + #{r\ 1985}# + #{w\ 1986}# + #{mod\ 1987}#) + (begin + (let ((#{r\ 1995}# + (cons '("placeholder" placeholder) + #{r\ 1985}#))) + (begin + (let ((#{ribcage\ 1997}# + (#{make-ribcage\ 408}# + '() + '() + '()))) + (begin + (let ((#{w\ 2000}# + (#{make-wrap\ 392}# + (#{wrap-marks\ 394}# #{w\ 1986}#) + (cons #{ribcage\ 1997}# + (#{wrap-subst\ 396}# #{w\ 1986}#))))) + (letrec* + ((#{parse\ 2009}# + (lambda (#{body\ 2010}# + #{ids\ 2011}# + #{labels\ 2012}# + #{var-ids\ 2013}# + #{vars\ 2014}# + #{vals\ 2015}# + #{bindings\ 2016}#) + (if (null? #{body\ 2010}#) + (syntax-violation + #f + "no expressions in body" + #{outer-form\ 1984}#) + (begin + (let ((#{e\ 2021}# + (cdr (car #{body\ 2010}#))) + (#{er\ 2022}# + (car (car #{body\ 2010}#)))) + (call-with-values + (lambda () + (#{syntax-type\ 468}# + #{e\ 2021}# + #{er\ 2022}# + '(()) + (#{source-annotation\ 366}# + #{er\ 2022}#) + #{ribcage\ 1997}# + #{mod\ 1987}# + #f)) + (lambda (#{type\ 2024}# + #{value\ 2025}# + #{e\ 2026}# + #{w\ 2027}# + #{s\ 2028}# + #{mod\ 2029}#) + (if (eqv? #{type\ 2024}# + 'define-form) + (begin + (let ((#{id\ 2039}# + (#{wrap\ 456}# + #{value\ 2025}# + #{w\ 2027}# + #{mod\ 2029}#)) + (#{label\ 2040}# + (#{gen-label\ 403}#))) + (begin + (let ((#{var\ 2042}# + (#{gen-var\ 500}# + #{id\ 2039}#))) + (begin + (#{extend-ribcage!\ 432}# + #{ribcage\ 1997}# + #{id\ 2039}# + #{label\ 2040}#) + (#{parse\ 2009}# + (cdr #{body\ 2010}#) + (cons #{id\ 2039}# + #{ids\ 2011}#) + (cons #{label\ 2040}# + #{labels\ 2012}#) + (cons #{id\ 2039}# + #{var-ids\ 2013}#) + (cons #{var\ 2042}# + #{vars\ 2014}#) + (cons (cons #{er\ 2022}# + (#{wrap\ 456}# + #{e\ 2026}# + #{w\ 2027}# + #{mod\ 2029}#)) + #{vals\ 2015}#) + (cons (cons 'lexical + #{var\ 2042}#) + #{bindings\ 2016}#))))))) + (if (eqv? #{type\ 2024}# + 'define-syntax-form) + (begin + (let ((#{id\ 2047}# + (#{wrap\ 456}# + #{value\ 2025}# + #{w\ 2027}# + #{mod\ 2029}#)) + (#{label\ 2048}# + (#{gen-label\ 403}#))) + (begin + (#{extend-ribcage!\ 432}# + #{ribcage\ 1997}# + #{id\ 2047}# + #{label\ 2048}#) + (#{parse\ 2009}# + (cdr #{body\ 2010}#) + (cons #{id\ 2047}# + #{ids\ 2011}#) + (cons #{label\ 2048}# + #{labels\ 2012}#) + #{var-ids\ 2013}# + #{vars\ 2014}# + #{vals\ 2015}# + (cons (cons 'macro + (cons #{er\ 2022}# + (#{wrap\ 456}# + #{e\ 2026}# + #{w\ 2027}# + #{mod\ 2029}#))) + #{bindings\ 2016}#))))) + (if (eqv? #{type\ 2024}# + 'begin-form) + (let ((#{tmp\ 2051}# + #{e\ 2026}#)) + (let ((#{tmp\ 2052}# + ($sc-dispatch + #{tmp\ 2051}# + '(any . + each-any)))) + (if #{tmp\ 2052}# + (@apply + (lambda (#{_\ 2055}# + #{e1\ 2056}#) + (#{parse\ 2009}# + (letrec* + ((#{f\ 2059}# + (lambda (#{forms\ 2060}#) + (if (null? #{forms\ 2060}#) + (cdr #{body\ 2010}#) + (cons (cons #{er\ 2022}# + (#{wrap\ 456}# + (car #{forms\ 2060}#) + #{w\ 2027}# + #{mod\ 2029}#)) + (#{f\ 2059}# + (cdr #{forms\ 2060}#))))))) + (begin + (#{f\ 2059}# + #{e1\ 2056}#))) + #{ids\ 2011}# + #{labels\ 2012}# + #{var-ids\ 2013}# + #{vars\ 2014}# + #{vals\ 2015}# + #{bindings\ 2016}#)) + #{tmp\ 2052}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 2051}#)))) + (if (eqv? #{type\ 2024}# + 'local-syntax-form) + (#{chi-local-syntax\ 482}# + #{value\ 2025}# + #{e\ 2026}# + #{er\ 2022}# + #{w\ 2027}# + #{s\ 2028}# + #{mod\ 2029}# + (lambda (#{forms\ 2063}# + #{er\ 2064}# + #{w\ 2065}# + #{s\ 2066}# + #{mod\ 2067}#) + (#{parse\ 2009}# + (letrec* + ((#{f\ 2075}# + (lambda (#{forms\ 2076}#) + (if (null? #{forms\ 2076}#) + (cdr #{body\ 2010}#) + (cons (cons #{er\ 2064}# + (#{wrap\ 456}# + (car #{forms\ 2076}#) + #{w\ 2065}# + #{mod\ 2067}#)) + (#{f\ 2075}# + (cdr #{forms\ 2076}#))))))) + (begin + (#{f\ 2075}# + #{forms\ 2063}#))) + #{ids\ 2011}# + #{labels\ 2012}# + #{var-ids\ 2013}# + #{vars\ 2014}# + #{vals\ 2015}# + #{bindings\ 2016}#))) + (if (null? #{ids\ 2011}#) + (#{build-sequence\ 339}# + #f + (map (lambda (#{x\ 2079}#) + (#{chi\ 472}# + (cdr #{x\ 2079}#) + (car #{x\ 2079}#) + '(()) + #{mod\ 2029}#)) + (cons (cons #{er\ 2022}# + (#{source-wrap\ 458}# + #{e\ 2026}# + #{w\ 2027}# + #{s\ 2028}# + #{mod\ 2029}#)) + (cdr #{body\ 2010}#)))) + (begin + (if (not (#{valid-bound-ids?\ 450}# + #{ids\ 2011}#)) + (syntax-violation + #f + "invalid or duplicate identifier in definition" + #{outer-form\ 1984}#)) + (letrec* + ((#{loop\ 2086}# + (lambda (#{bs\ 2087}# + #{er-cache\ 2088}# + #{r-cache\ 2089}#) + (if (not (null? #{bs\ 2087}#)) + (begin + (let ((#{b\ 2092}# + (car #{bs\ 2087}#))) + (if (eq? (car #{b\ 2092}#) + 'macro) + (begin + (let ((#{er\ 2095}# + (car (cdr #{b\ 2092}#)))) + (begin + (let ((#{r-cache\ 2097}# + (if (eq? #{er\ 2095}# + #{er-cache\ 2088}#) + #{r-cache\ 2089}# + (#{macros-only-env\ 379}# + #{er\ 2095}#)))) + (begin + (set-cdr! + #{b\ 2092}# + (#{eval-local-transformer\ 484}# + (#{chi\ 472}# + (cdr (cdr #{b\ 2092}#)) + #{r-cache\ 2097}# + '(()) + #{mod\ 2029}#) + #{mod\ 2029}#)) + (#{loop\ 2086}# + (cdr #{bs\ 2087}#) + #{er\ 2095}# + #{r-cache\ 2097}#)))))) + (#{loop\ 2086}# + (cdr #{bs\ 2087}#) + #{er-cache\ 2088}# + #{r-cache\ 2089}#)))))))) + (begin + (#{loop\ 2086}# + #{bindings\ 2016}# + #f + #f))) + (set-cdr! + #{r\ 1995}# + (#{extend-env\ 375}# + #{labels\ 2012}# + #{bindings\ 2016}# + (cdr #{r\ 1995}#))) + (#{build-letrec\ 345}# + #f + #t + (reverse + (map syntax->datum + #{var-ids\ 2013}#)) + (reverse + #{vars\ 2014}#) + (map (lambda (#{x\ 2100}#) + (#{chi\ 472}# + (cdr #{x\ 2100}#) + (car #{x\ 2100}#) + '(()) + #{mod\ 2029}#)) + (reverse + #{vals\ 2015}#)) + (#{build-sequence\ 339}# + #f + (map (lambda (#{x\ 2104}#) + (#{chi\ 472}# + (cdr #{x\ 2104}#) + (car #{x\ 2104}#) + '(()) + #{mod\ 2029}#)) + (cons (cons #{er\ 2022}# + (#{source-wrap\ 458}# + #{e\ 2026}# + #{w\ 2027}# + #{s\ 2028}# + #{mod\ 2029}#)) + (cdr #{body\ 2010}#))))))))))))))))))) + (begin + (#{parse\ 2009}# + (map (lambda (#{x\ 2017}#) + (cons #{r\ 1995}# + (#{wrap\ 456}# + #{x\ 2017}# + #{w\ 2000}# + #{mod\ 1987}#))) + #{body\ 1983}#) + '() + '() + '() + '() + '() + '()))))))))))) + (#{chi-local-syntax\ 482}# + (lambda (#{rec?\ 2107}# + #{e\ 2108}# + #{r\ 2109}# + #{w\ 2110}# + #{s\ 2111}# + #{mod\ 2112}# + #{k\ 2113}#) + (let ((#{tmp\ 2121}# #{e\ 2108}#)) + (let ((#{tmp\ 2122}# + ($sc-dispatch + #{tmp\ 2121}# + '(any #(each (any any)) any . each-any)))) + (if #{tmp\ 2122}# + (@apply + (lambda (#{_\ 2128}# + #{id\ 2129}# + #{val\ 2130}# + #{e1\ 2131}# + #{e2\ 2132}#) + (begin + (let ((#{ids\ 2134}# #{id\ 2129}#)) + (if (not (#{valid-bound-ids?\ 450}# #{ids\ 2134}#)) + (syntax-violation + #f + "duplicate bound keyword" + #{e\ 2108}#) + (begin + (let ((#{labels\ 2137}# + (#{gen-labels\ 405}# #{ids\ 2134}#))) + (begin + (let ((#{new-w\ 2139}# + (#{make-binding-wrap\ 434}# + #{ids\ 2134}# + #{labels\ 2137}# + #{w\ 2110}#))) + (#{k\ 2113}# + (cons #{e1\ 2131}# #{e2\ 2132}#) + (#{extend-env\ 375}# + #{labels\ 2137}# + (begin + (let ((#{w\ 2143}# + (if #{rec?\ 2107}# + #{new-w\ 2139}# + #{w\ 2110}#)) + (#{trans-r\ 2144}# + (#{macros-only-env\ 379}# + #{r\ 2109}#))) + (map (lambda (#{x\ 2145}#) + (cons 'macro + (#{eval-local-transformer\ 484}# + (#{chi\ 472}# + #{x\ 2145}# + #{trans-r\ 2144}# + #{w\ 2143}# + #{mod\ 2112}#) + #{mod\ 2112}#))) + #{val\ 2130}#))) + #{r\ 2109}#) + #{new-w\ 2139}# + #{s\ 2111}# + #{mod\ 2112}#))))))))) + #{tmp\ 2122}#) + (let ((#{_\ 2150}# #{tmp\ 2121}#)) + (syntax-violation + #f + "bad local syntax definition" + (#{source-wrap\ 458}# + #{e\ 2108}# + #{w\ 2110}# + #{s\ 2111}# + #{mod\ 2112}#)))))))) + (#{eval-local-transformer\ 484}# + (lambda (#{expanded\ 2151}# #{mod\ 2152}#) + (begin + (let ((#{p\ 2156}# + (#{local-eval-hook\ 298}# + #{expanded\ 2151}# + #{mod\ 2152}#))) + (if (procedure? #{p\ 2156}#) + #{p\ 2156}# + (syntax-violation + #f + "nonprocedure transformer" + #{p\ 2156}#)))))) + (#{chi-void\ 486}# + (lambda () (#{build-void\ 307}# #f))) + (#{ellipsis?\ 488}# + (lambda (#{x\ 2158}#) + (if (#{nonsymbol-id?\ 385}# #{x\ 2158}#) + (#{free-id=?\ 446}# + #{x\ 2158}# + '#(syntax-object + ... + ((top) + #(ribcage () () ()) + #(ribcage () () ()) + #(ribcage #(x) #((top)) #("i2159")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + chi-top + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + maybe-name-value! + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i501" + "i499" + "i497" + "i495" + "i493" + "i491" + "i489" + "i487" + "i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i430" + "i429" + "i427" + "i426" + "i425" + "i424" + "i423" + "i421" + "i419" + "i417" + "i415" + "i413" + "i411" + "i409" + "i407" + "i404" + "i402" + "i401" + "i400" + "i399" + "i398" + "i397" + "i395" + "i393" + "i391" + "i389" + "i388" + "i386" + "i384" + "i382" + "i380" + "i378" + "i376" + "i374" + "i373" + "i371" + "i369" + "i368" + "i367" + "i365" + "i364" + "i362" + "i360" + "i358" + "i356" + "i354" + "i352" + "i350" + "i348" + "i346" + "i344" + "i342" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i324" + "i322" + "i320" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i299" + "i297" + "i295" + "i293" + "i291" + "i289" + "i287" + "i285" + "i283" + "i281" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i252" + "i250" + "i248" + "i246" + "i244")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) (top) (top) (top)) + ("i38" "i37" "i36" "i34"))) + (hygiene guile))) + #f))) + (#{lambda-formals\ 490}# + (lambda (#{orig-args\ 2162}#) + (letrec* + ((#{req\ 2165}# + (lambda (#{args\ 2168}# #{rreq\ 2169}#) + (let ((#{tmp\ 2172}# #{args\ 2168}#)) + (let ((#{tmp\ 2173}# + ($sc-dispatch #{tmp\ 2172}# (quote ())))) + (if #{tmp\ 2173}# + (@apply + (lambda () + (#{check\ 2167}# (reverse #{rreq\ 2169}#) #f)) + #{tmp\ 2173}#) + (let ((#{tmp\ 2174}# + ($sc-dispatch + #{tmp\ 2172}# + '(any . any)))) + (if (if #{tmp\ 2174}# + (@apply + (lambda (#{a\ 2177}# #{b\ 2178}#) + (#{id?\ 387}# #{a\ 2177}#)) + #{tmp\ 2174}#) + #f) + (@apply + (lambda (#{a\ 2181}# #{b\ 2182}#) + (#{req\ 2165}# + #{b\ 2182}# + (cons #{a\ 2181}# #{rreq\ 2169}#))) + #{tmp\ 2174}#) + (let ((#{tmp\ 2183}# (list #{tmp\ 2172}#))) + (if (if #{tmp\ 2183}# + (@apply + (lambda (#{r\ 2185}#) + (#{id?\ 387}# #{r\ 2185}#)) + #{tmp\ 2183}#) + #f) + (@apply + (lambda (#{r\ 2187}#) + (#{check\ 2167}# + (reverse #{rreq\ 2169}#) + #{r\ 2187}#)) + #{tmp\ 2183}#) + (let ((#{else\ 2189}# #{tmp\ 2172}#)) + (syntax-violation + 'lambda + "invalid argument list" + #{orig-args\ 2162}# + #{args\ 2168}#))))))))))) + (#{check\ 2167}# + (lambda (#{req\ 2190}# #{rest\ 2191}#) + (if (#{distinct-bound-ids?\ 452}# + (if #{rest\ 2191}# + (cons #{rest\ 2191}# #{req\ 2190}#) + #{req\ 2190}#)) + (values #{req\ 2190}# #f #{rest\ 2191}# #f) + (syntax-violation + 'lambda + "duplicate identifier in argument list" + #{orig-args\ 2162}#))))) (begin - (let ((#{kind\ 2536}# (car #{mod\ 2526}#)) - (#{mod\ 2537}# (cdr #{mod\ 2526}#))) - (if (eqv? #{kind\ 2536}# (quote public)) - (#{modref-cont\ 2528}# - #{mod\ 2537}# - #{var\ 2527}# - #t) - (if (eqv? #{kind\ 2536}# (quote private)) - (if (not (equal? - #{mod\ 2537}# - (module-name (current-module)))) - (#{modref-cont\ 2528}# - #{mod\ 2537}# - #{var\ 2527}# - #f) - (#{bare-cont\ 2529}# #{var\ 2527}#)) - (if (eqv? #{kind\ 2536}# (quote bare)) - (#{bare-cont\ 2529}# #{var\ 2527}#) - (if (eqv? #{kind\ 2536}# (quote hygiene)) - (if (if (not (equal? - #{mod\ 2537}# - (module-name (current-module)))) - (module-variable - (resolve-module #{mod\ 2537}#) - #{var\ 2527}#) - #f) - (#{modref-cont\ 2528}# - #{mod\ 2537}# - #{var\ 2527}# - #f) - (#{bare-cont\ 2529}# #{var\ 2527}#)) + (#{req\ 2165}# #{orig-args\ 2162}# (quote ())))))) + (#{chi-simple-lambda\ 492}# + (lambda (#{e\ 2197}# + #{r\ 2198}# + #{w\ 2199}# + #{s\ 2200}# + #{mod\ 2201}# + #{req\ 2202}# + #{rest\ 2203}# + #{meta\ 2204}# + #{body\ 2205}#) + (begin + (let ((#{ids\ 2217}# + (if #{rest\ 2203}# + (append #{req\ 2202}# (list #{rest\ 2203}#)) + #{req\ 2202}#))) + (begin + (let ((#{vars\ 2219}# + (map #{gen-var\ 500}# #{ids\ 2217}#))) + (begin + (let ((#{labels\ 2221}# + (#{gen-labels\ 405}# #{ids\ 2217}#))) + (#{build-simple-lambda\ 329}# + #{s\ 2200}# + (map syntax->datum #{req\ 2202}#) + (if #{rest\ 2203}# + (syntax->datum #{rest\ 2203}#) + #f) + #{vars\ 2219}# + #{meta\ 2204}# + (#{chi-body\ 480}# + #{body\ 2205}# + (#{source-wrap\ 458}# + #{e\ 2197}# + #{w\ 2199}# + #{s\ 2200}# + #{mod\ 2201}#) + (#{extend-var-env\ 377}# + #{labels\ 2221}# + #{vars\ 2219}# + #{r\ 2198}#) + (#{make-binding-wrap\ 434}# + #{ids\ 2217}# + #{labels\ 2221}# + #{w\ 2199}#) + #{mod\ 2201}#)))))))))) + (#{lambda*-formals\ 494}# + (lambda (#{orig-args\ 2224}#) + (letrec* + ((#{req\ 2227}# + (lambda (#{args\ 2236}# #{rreq\ 2237}#) + (let ((#{tmp\ 2240}# #{args\ 2236}#)) + (let ((#{tmp\ 2241}# + ($sc-dispatch #{tmp\ 2240}# (quote ())))) + (if #{tmp\ 2241}# + (@apply + (lambda () + (#{check\ 2235}# + (reverse #{rreq\ 2237}#) + '() + #f + '())) + #{tmp\ 2241}#) + (let ((#{tmp\ 2242}# + ($sc-dispatch + #{tmp\ 2240}# + '(any . any)))) + (if (if #{tmp\ 2242}# + (@apply + (lambda (#{a\ 2245}# #{b\ 2246}#) + (#{id?\ 387}# #{a\ 2245}#)) + #{tmp\ 2242}#) + #f) + (@apply + (lambda (#{a\ 2249}# #{b\ 2250}#) + (#{req\ 2227}# + #{b\ 2250}# + (cons #{a\ 2249}# #{rreq\ 2237}#))) + #{tmp\ 2242}#) + (let ((#{tmp\ 2251}# + ($sc-dispatch + #{tmp\ 2240}# + '(any . any)))) + (if (if #{tmp\ 2251}# + (@apply + (lambda (#{a\ 2254}# #{b\ 2255}#) + (eq? (syntax->datum #{a\ 2254}#) + #:optional)) + #{tmp\ 2251}#) + #f) + (@apply + (lambda (#{a\ 2258}# #{b\ 2259}#) + (#{opt\ 2229}# + #{b\ 2259}# + (reverse #{rreq\ 2237}#) + '())) + #{tmp\ 2251}#) + (let ((#{tmp\ 2260}# + ($sc-dispatch + #{tmp\ 2240}# + '(any . any)))) + (if (if #{tmp\ 2260}# + (@apply + (lambda (#{a\ 2263}# #{b\ 2264}#) + (eq? (syntax->datum #{a\ 2263}#) + #:key)) + #{tmp\ 2260}#) + #f) + (@apply + (lambda (#{a\ 2267}# #{b\ 2268}#) + (#{key\ 2231}# + #{b\ 2268}# + (reverse #{rreq\ 2237}#) + '() + '())) + #{tmp\ 2260}#) + (let ((#{tmp\ 2269}# + ($sc-dispatch + #{tmp\ 2240}# + '(any any)))) + (if (if #{tmp\ 2269}# + (@apply + (lambda (#{a\ 2272}# + #{b\ 2273}#) + (eq? (syntax->datum + #{a\ 2272}#) + #:rest)) + #{tmp\ 2269}#) + #f) + (@apply + (lambda (#{a\ 2276}# #{b\ 2277}#) + (#{rest\ 2233}# + #{b\ 2277}# + (reverse #{rreq\ 2237}#) + '() + '())) + #{tmp\ 2269}#) + (let ((#{tmp\ 2278}# + (list #{tmp\ 2240}#))) + (if (if #{tmp\ 2278}# + (@apply + (lambda (#{r\ 2280}#) + (#{id?\ 387}# + #{r\ 2280}#)) + #{tmp\ 2278}#) + #f) + (@apply + (lambda (#{r\ 2282}#) + (#{rest\ 2233}# + #{r\ 2282}# + (reverse #{rreq\ 2237}#) + '() + '())) + #{tmp\ 2278}#) + (let ((#{else\ 2284}# + #{tmp\ 2240}#)) + (syntax-violation + 'lambda* + "invalid argument list" + #{orig-args\ 2224}# + #{args\ 2236}#))))))))))))))))) + (#{opt\ 2229}# + (lambda (#{args\ 2285}# #{req\ 2286}# #{ropt\ 2287}#) + (let ((#{tmp\ 2291}# #{args\ 2285}#)) + (let ((#{tmp\ 2292}# + ($sc-dispatch #{tmp\ 2291}# (quote ())))) + (if #{tmp\ 2292}# + (@apply + (lambda () + (#{check\ 2235}# + #{req\ 2286}# + (reverse #{ropt\ 2287}#) + #f + '())) + #{tmp\ 2292}#) + (let ((#{tmp\ 2293}# + ($sc-dispatch + #{tmp\ 2291}# + '(any . any)))) + (if (if #{tmp\ 2293}# + (@apply + (lambda (#{a\ 2296}# #{b\ 2297}#) + (#{id?\ 387}# #{a\ 2296}#)) + #{tmp\ 2293}#) + #f) + (@apply + (lambda (#{a\ 2300}# #{b\ 2301}#) + (#{opt\ 2229}# + #{b\ 2301}# + #{req\ 2286}# + (cons (cons #{a\ 2300}# + '(#(syntax-object + #f + ((top) + #(ribcage + #(a b) + #((top) (top)) + #("i2298" "i2299")) + #(ribcage () () ()) + #(ribcage + #(args req ropt) + #((top) (top) (top)) + #("i2288" + "i2289" + "i2290")) + #(ribcage + (check rest key opt req) + ((top) + (top) + (top) + (top) + (top)) + ("i2234" + "i2232" + "i2230" + "i2228" + "i2226")) + #(ribcage + #(orig-args) + #((top)) + #("i2225")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + chi-top + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + maybe-name-value! + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i501" + "i499" + "i497" + "i495" + "i493" + "i491" + "i489" + "i487" + "i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i430" + "i429" + "i427" + "i426" + "i425" + "i424" + "i423" + "i421" + "i419" + "i417" + "i415" + "i413" + "i411" + "i409" + "i407" + "i404" + "i402" + "i401" + "i400" + "i399" + "i398" + "i397" + "i395" + "i393" + "i391" + "i389" + "i388" + "i386" + "i384" + "i382" + "i380" + "i378" + "i376" + "i374" + "i373" + "i371" + "i369" + "i368" + "i367" + "i365" + "i364" + "i362" + "i360" + "i358" + "i356" + "i354" + "i352" + "i350" + "i348" + "i346" + "i344" + "i342" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i324" + "i322" + "i320" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i299" + "i297" + "i295" + "i293" + "i291" + "i289" + "i287" + "i285" + "i283" + "i281" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i252" + "i250" + "i248" + "i246" + "i244")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) + (top) + (top) + (top)) + ("i38" + "i37" + "i36" + "i34"))) + (hygiene guile)))) + #{ropt\ 2287}#))) + #{tmp\ 2293}#) + (let ((#{tmp\ 2302}# + ($sc-dispatch + #{tmp\ 2291}# + '((any any) . any)))) + (if (if #{tmp\ 2302}# + (@apply + (lambda (#{a\ 2306}# + #{init\ 2307}# + #{b\ 2308}#) + (#{id?\ 387}# #{a\ 2306}#)) + #{tmp\ 2302}#) + #f) + (@apply + (lambda (#{a\ 2312}# + #{init\ 2313}# + #{b\ 2314}#) + (#{opt\ 2229}# + #{b\ 2314}# + #{req\ 2286}# + (cons (list #{a\ 2312}# #{init\ 2313}#) + #{ropt\ 2287}#))) + #{tmp\ 2302}#) + (let ((#{tmp\ 2315}# + ($sc-dispatch + #{tmp\ 2291}# + '(any . any)))) + (if (if #{tmp\ 2315}# + (@apply + (lambda (#{a\ 2318}# #{b\ 2319}#) + (eq? (syntax->datum #{a\ 2318}#) + #:key)) + #{tmp\ 2315}#) + #f) + (@apply + (lambda (#{a\ 2322}# #{b\ 2323}#) + (#{key\ 2231}# + #{b\ 2323}# + #{req\ 2286}# + (reverse #{ropt\ 2287}#) + '())) + #{tmp\ 2315}#) + (let ((#{tmp\ 2324}# + ($sc-dispatch + #{tmp\ 2291}# + '(any any)))) + (if (if #{tmp\ 2324}# + (@apply + (lambda (#{a\ 2327}# + #{b\ 2328}#) + (eq? (syntax->datum + #{a\ 2327}#) + #:rest)) + #{tmp\ 2324}#) + #f) + (@apply + (lambda (#{a\ 2331}# #{b\ 2332}#) + (#{rest\ 2233}# + #{b\ 2332}# + #{req\ 2286}# + (reverse #{ropt\ 2287}#) + '())) + #{tmp\ 2324}#) + (let ((#{tmp\ 2333}# + (list #{tmp\ 2291}#))) + (if (if #{tmp\ 2333}# + (@apply + (lambda (#{r\ 2335}#) + (#{id?\ 387}# + #{r\ 2335}#)) + #{tmp\ 2333}#) + #f) + (@apply + (lambda (#{r\ 2337}#) + (#{rest\ 2233}# + #{r\ 2337}# + #{req\ 2286}# + (reverse #{ropt\ 2287}#) + '())) + #{tmp\ 2333}#) + (let ((#{else\ 2339}# + #{tmp\ 2291}#)) + (syntax-violation + 'lambda* + "invalid optional argument list" + #{orig-args\ 2224}# + #{args\ 2285}#))))))))))))))))) + (#{key\ 2231}# + (lambda (#{args\ 2340}# + #{req\ 2341}# + #{opt\ 2342}# + #{rkey\ 2343}#) + (let ((#{tmp\ 2348}# #{args\ 2340}#)) + (let ((#{tmp\ 2349}# + ($sc-dispatch #{tmp\ 2348}# (quote ())))) + (if #{tmp\ 2349}# + (@apply + (lambda () + (#{check\ 2235}# + #{req\ 2341}# + #{opt\ 2342}# + #f + (cons #f (reverse #{rkey\ 2343}#)))) + #{tmp\ 2349}#) + (let ((#{tmp\ 2350}# + ($sc-dispatch + #{tmp\ 2348}# + '(any . any)))) + (if (if #{tmp\ 2350}# + (@apply + (lambda (#{a\ 2353}# #{b\ 2354}#) + (#{id?\ 387}# #{a\ 2353}#)) + #{tmp\ 2350}#) + #f) + (@apply + (lambda (#{a\ 2357}# #{b\ 2358}#) + (let ((#{tmp\ 2360}# + (symbol->keyword + (syntax->datum #{a\ 2357}#)))) + (let ((#{k\ 2362}# #{tmp\ 2360}#)) + (#{key\ 2231}# + #{b\ 2358}# + #{req\ 2341}# + #{opt\ 2342}# + (cons (cons #{k\ 2362}# + (cons #{a\ 2357}# + '(#(syntax-object + #f + ((top) + #(ribcage + #(k) + #((top)) + #("i2361")) + #(ribcage + #(a b) + #((top) (top)) + #("i2355" + "i2356")) + #(ribcage + () + () + ()) + #(ribcage + #(args + req + opt + rkey) + #((top) + (top) + (top) + (top)) + #("i2344" + "i2345" + "i2346" + "i2347")) + #(ribcage + (check rest + key + opt + req) + ((top) + (top) + (top) + (top) + (top)) + ("i2234" + "i2232" + "i2230" + "i2228" + "i2226")) + #(ribcage + #(orig-args) + #((top)) + #("i2225")) + #(ribcage + (lambda-var-list + gen-var + strip + chi-lambda-case + lambda*-formals + chi-simple-lambda + lambda-formals + ellipsis? + chi-void + eval-local-transformer + chi-local-syntax + chi-body + chi-macro + chi-application + chi-expr + chi + chi-top + syntax-type + chi-when-list + chi-install-global + chi-top-sequence + chi-sequence + source-wrap + wrap + bound-id-member? + distinct-bound-ids? + valid-bound-ids? + bound-id=? + free-id=? + id-var-name + same-marks? + join-marks + join-wraps + smart-append + make-binding-wrap + extend-ribcage! + make-empty-ribcage + new-mark + anti-mark + the-anti-mark + top-marked? + top-wrap + empty-wrap + set-ribcage-labels! + set-ribcage-marks! + set-ribcage-symnames! + ribcage-labels + ribcage-marks + ribcage-symnames + ribcage? + make-ribcage + gen-labels + gen-label + make-rename + rename-marks + rename-new + rename-old + subst-rename? + wrap-subst + wrap-marks + make-wrap + id-sym-name&marks + id-sym-name + id? + nonsymbol-id? + global-extend + lookup + macros-only-env + extend-var-env + extend-env + null-env + binding-value + binding-type + make-binding + arg-check + source-annotation + no-source + set-syntax-object-module! + set-syntax-object-wrap! + set-syntax-object-expression! + syntax-object-module + syntax-object-wrap + syntax-object-expression + syntax-object? + make-syntax-object + build-lexical-var + build-letrec + build-named-let + build-let + build-sequence + build-data + build-primref + build-lambda-case + build-case-lambda + build-simple-lambda + build-global-definition + maybe-name-value! + build-global-assignment + build-global-reference + analyze-variable + build-lexical-assignment + build-lexical-reference + build-dynlet + build-conditional + build-application + build-void + decorate-source + get-global-definition-hook + put-global-definition-hook + gensym-hook + local-eval-hook + top-level-eval-hook + fx< + fx= + fx- + fx+ + set-lambda-meta! + lambda-meta + lambda? + make-dynlet + make-letrec + make-let + make-lambda-case + make-lambda + make-sequence + make-application + make-conditional + make-toplevel-define + make-toplevel-set + make-toplevel-ref + make-module-set + make-module-ref + make-lexical-set + make-lexical-ref + make-primitive-ref + make-const + make-void) + ((top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top) + (top)) + ("i501" + "i499" + "i497" + "i495" + "i493" + "i491" + "i489" + "i487" + "i485" + "i483" + "i481" + "i479" + "i477" + "i475" + "i473" + "i471" + "i469" + "i467" + "i465" + "i463" + "i461" + "i459" + "i457" + "i455" + "i453" + "i451" + "i449" + "i447" + "i445" + "i443" + "i441" + "i439" + "i437" + "i435" + "i433" + "i431" + "i430" + "i429" + "i427" + "i426" + "i425" + "i424" + "i423" + "i421" + "i419" + "i417" + "i415" + "i413" + "i411" + "i409" + "i407" + "i404" + "i402" + "i401" + "i400" + "i399" + "i398" + "i397" + "i395" + "i393" + "i391" + "i389" + "i388" + "i386" + "i384" + "i382" + "i380" + "i378" + "i376" + "i374" + "i373" + "i371" + "i369" + "i368" + "i367" + "i365" + "i364" + "i362" + "i360" + "i358" + "i356" + "i354" + "i352" + "i350" + "i348" + "i346" + "i344" + "i342" + "i340" + "i338" + "i336" + "i334" + "i332" + "i330" + "i328" + "i326" + "i324" + "i322" + "i320" + "i318" + "i316" + "i314" + "i312" + "i310" + "i308" + "i306" + "i304" + "i302" + "i300" + "i299" + "i297" + "i295" + "i293" + "i291" + "i289" + "i287" + "i285" + "i283" + "i281" + "i278" + "i276" + "i274" + "i272" + "i270" + "i268" + "i266" + "i264" + "i262" + "i260" + "i258" + "i256" + "i254" + "i252" + "i250" + "i248" + "i246" + "i244")) + #(ribcage + (define-structure + define-expansion-accessors + define-expansion-constructors + and-map*) + ((top) + (top) + (top) + (top)) + ("i38" + "i37" + "i36" + "i34"))) + (hygiene + guile))))) + #{rkey\ 2343}#))))) + #{tmp\ 2350}#) + (let ((#{tmp\ 2363}# + ($sc-dispatch + #{tmp\ 2348}# + '((any any) . any)))) + (if (if #{tmp\ 2363}# + (@apply + (lambda (#{a\ 2367}# + #{init\ 2368}# + #{b\ 2369}#) + (#{id?\ 387}# #{a\ 2367}#)) + #{tmp\ 2363}#) + #f) + (@apply + (lambda (#{a\ 2373}# + #{init\ 2374}# + #{b\ 2375}#) + (let ((#{tmp\ 2377}# + (symbol->keyword + (syntax->datum #{a\ 2373}#)))) + (let ((#{k\ 2379}# #{tmp\ 2377}#)) + (#{key\ 2231}# + #{b\ 2375}# + #{req\ 2341}# + #{opt\ 2342}# + (cons (list #{k\ 2379}# + #{a\ 2373}# + #{init\ 2374}#) + #{rkey\ 2343}#))))) + #{tmp\ 2363}#) + (let ((#{tmp\ 2380}# + ($sc-dispatch + #{tmp\ 2348}# + '((any any any) . any)))) + (if (if #{tmp\ 2380}# + (@apply + (lambda (#{a\ 2385}# + #{init\ 2386}# + #{k\ 2387}# + #{b\ 2388}#) + (if (#{id?\ 387}# #{a\ 2385}#) + (keyword? + (syntax->datum #{k\ 2387}#)) + #f)) + #{tmp\ 2380}#) + #f) + (@apply + (lambda (#{a\ 2395}# + #{init\ 2396}# + #{k\ 2397}# + #{b\ 2398}#) + (#{key\ 2231}# + #{b\ 2398}# + #{req\ 2341}# + #{opt\ 2342}# + (cons (list #{k\ 2397}# + #{a\ 2395}# + #{init\ 2396}#) + #{rkey\ 2343}#))) + #{tmp\ 2380}#) + (let ((#{tmp\ 2399}# + ($sc-dispatch + #{tmp\ 2348}# + '(any)))) + (if (if #{tmp\ 2399}# + (@apply + (lambda (#{aok\ 2401}#) + (eq? (syntax->datum + #{aok\ 2401}#) + #:allow-other-keys)) + #{tmp\ 2399}#) + #f) + (@apply + (lambda (#{aok\ 2403}#) + (#{check\ 2235}# + #{req\ 2341}# + #{opt\ 2342}# + #f + (cons #t + (reverse + #{rkey\ 2343}#)))) + #{tmp\ 2399}#) + (let ((#{tmp\ 2404}# + ($sc-dispatch + #{tmp\ 2348}# + '(any any any)))) + (if (if #{tmp\ 2404}# + (@apply + (lambda (#{aok\ 2408}# + #{a\ 2409}# + #{b\ 2410}#) + (if (eq? (syntax->datum + #{aok\ 2408}#) + #:allow-other-keys) + (eq? (syntax->datum + #{a\ 2409}#) + #:rest) + #f)) + #{tmp\ 2404}#) + #f) + (@apply + (lambda (#{aok\ 2416}# + #{a\ 2417}# + #{b\ 2418}#) + (#{rest\ 2233}# + #{b\ 2418}# + #{req\ 2341}# + #{opt\ 2342}# + (cons #t + (reverse + #{rkey\ 2343}#)))) + #{tmp\ 2404}#) + (let ((#{tmp\ 2419}# + ($sc-dispatch + #{tmp\ 2348}# + '(any . any)))) + (if (if #{tmp\ 2419}# + (@apply + (lambda (#{aok\ 2422}# + #{r\ 2423}#) + (if (eq? (syntax->datum + #{aok\ 2422}#) + #:allow-other-keys) + (#{id?\ 387}# + #{r\ 2423}#) + #f)) + #{tmp\ 2419}#) + #f) + (@apply + (lambda (#{aok\ 2428}# + #{r\ 2429}#) + (#{rest\ 2233}# + #{r\ 2429}# + #{req\ 2341}# + #{opt\ 2342}# + (cons #t + (reverse + #{rkey\ 2343}#)))) + #{tmp\ 2419}#) + (let ((#{tmp\ 2430}# + ($sc-dispatch + #{tmp\ 2348}# + '(any any)))) + (if (if #{tmp\ 2430}# + (@apply + (lambda (#{a\ 2433}# + #{b\ 2434}#) + (eq? (syntax->datum + #{a\ 2433}#) + #:rest)) + #{tmp\ 2430}#) + #f) + (@apply + (lambda (#{a\ 2437}# + #{b\ 2438}#) + (#{rest\ 2233}# + #{b\ 2438}# + #{req\ 2341}# + #{opt\ 2342}# + (cons #f + (reverse + #{rkey\ 2343}#)))) + #{tmp\ 2430}#) + (let ((#{tmp\ 2439}# + (list #{tmp\ 2348}#))) + (if (if #{tmp\ 2439}# + (@apply + (lambda (#{r\ 2441}#) + (#{id?\ 387}# + #{r\ 2441}#)) + #{tmp\ 2439}#) + #f) + (@apply + (lambda (#{r\ 2443}#) + (#{rest\ 2233}# + #{r\ 2443}# + #{req\ 2341}# + #{opt\ 2342}# + (cons #f + (reverse + #{rkey\ 2343}#)))) + #{tmp\ 2439}#) + (let ((#{else\ 2445}# + #{tmp\ 2348}#)) + (syntax-violation + 'lambda* + "invalid keyword argument list" + #{orig-args\ 2224}# + #{args\ 2340}#))))))))))))))))))))))) + (#{rest\ 2233}# + (lambda (#{args\ 2446}# + #{req\ 2447}# + #{opt\ 2448}# + #{kw\ 2449}#) + (let ((#{tmp\ 2454}# #{args\ 2446}#)) + (let ((#{tmp\ 2455}# (list #{tmp\ 2454}#))) + (if (if #{tmp\ 2455}# + (@apply + (lambda (#{r\ 2457}#) + (#{id?\ 387}# #{r\ 2457}#)) + #{tmp\ 2455}#) + #f) + (@apply + (lambda (#{r\ 2459}#) + (#{check\ 2235}# + #{req\ 2447}# + #{opt\ 2448}# + #{r\ 2459}# + #{kw\ 2449}#)) + #{tmp\ 2455}#) + (let ((#{else\ 2461}# #{tmp\ 2454}#)) + (syntax-violation + 'lambda* + "invalid rest argument" + #{orig-args\ 2224}# + #{args\ 2446}#))))))) + (#{check\ 2235}# + (lambda (#{req\ 2462}# + #{opt\ 2463}# + #{rest\ 2464}# + #{kw\ 2465}#) + (if (#{distinct-bound-ids?\ 452}# + (append + #{req\ 2462}# + (map car #{opt\ 2463}#) + (if #{rest\ 2464}# + (list #{rest\ 2464}#) + '()) + (if (pair? #{kw\ 2465}#) + (map cadr (cdr #{kw\ 2465}#)) + '()))) + (values + #{req\ 2462}# + #{opt\ 2463}# + #{rest\ 2464}# + #{kw\ 2465}#) + (syntax-violation + 'lambda* + "duplicate identifier in argument list" + #{orig-args\ 2224}#))))) + (begin + (#{req\ 2227}# #{orig-args\ 2224}# (quote ())))))) + (#{chi-lambda-case\ 496}# + (lambda (#{e\ 2473}# + #{r\ 2474}# + #{w\ 2475}# + #{s\ 2476}# + #{mod\ 2477}# + #{get-formals\ 2478}# + #{clauses\ 2479}#) + (letrec* + ((#{expand-req\ 2488}# + (lambda (#{req\ 2495}# + #{opt\ 2496}# + #{rest\ 2497}# + #{kw\ 2498}# + #{body\ 2499}#) + (begin + (let ((#{vars\ 2507}# + (map #{gen-var\ 500}# #{req\ 2495}#)) + (#{labels\ 2508}# + (#{gen-labels\ 405}# #{req\ 2495}#))) + (begin + (let ((#{r*\ 2511}# + (#{extend-var-env\ 377}# + #{labels\ 2508}# + #{vars\ 2507}# + #{r\ 2474}#)) + (#{w*\ 2512}# + (#{make-binding-wrap\ 434}# + #{req\ 2495}# + #{labels\ 2508}# + #{w\ 2475}#))) + (#{expand-opt\ 2490}# + (map syntax->datum #{req\ 2495}#) + #{opt\ 2496}# + #{rest\ 2497}# + #{kw\ 2498}# + #{body\ 2499}# + (reverse #{vars\ 2507}#) + #{r*\ 2511}# + #{w*\ 2512}# + '() + '()))))))) + (#{expand-opt\ 2490}# + (lambda (#{req\ 2513}# + #{opt\ 2514}# + #{rest\ 2515}# + #{kw\ 2516}# + #{body\ 2517}# + #{vars\ 2518}# + #{r*\ 2519}# + #{w*\ 2520}# + #{out\ 2521}# + #{inits\ 2522}#) + (if (pair? #{opt\ 2514}#) + (let ((#{tmp\ 2535}# (car #{opt\ 2514}#))) + (let ((#{tmp\ 2536}# + ($sc-dispatch + #{tmp\ 2535}# + '(any any)))) + (if #{tmp\ 2536}# + (@apply + (lambda (#{id\ 2539}# #{i\ 2540}#) + (begin + (let ((#{v\ 2543}# + (#{gen-var\ 500}# #{id\ 2539}#))) + (begin + (let ((#{l\ 2545}# + (#{gen-labels\ 405}# + (list #{v\ 2543}#)))) + (begin + (let ((#{r**\ 2547}# + (#{extend-var-env\ 377}# + #{l\ 2545}# + (list #{v\ 2543}#) + #{r*\ 2519}#))) + (begin + (let ((#{w**\ 2549}# + (#{make-binding-wrap\ 434}# + (list #{id\ 2539}#) + #{l\ 2545}# + #{w*\ 2520}#))) + (#{expand-opt\ 2490}# + #{req\ 2513}# + (cdr #{opt\ 2514}#) + #{rest\ 2515}# + #{kw\ 2516}# + #{body\ 2517}# + (cons #{v\ 2543}# + #{vars\ 2518}#) + #{r**\ 2547}# + #{w**\ 2549}# + (cons (syntax->datum + #{id\ 2539}#) + #{out\ 2521}#) + (cons (#{chi\ 472}# + #{i\ 2540}# + #{r*\ 2519}# + #{w*\ 2520}# + #{mod\ 2477}#) + #{inits\ 2522}#))))))))))) + #{tmp\ 2536}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 2535}#)))) + (if #{rest\ 2515}# + (begin + (let ((#{v\ 2554}# + (#{gen-var\ 500}# #{rest\ 2515}#))) + (begin + (let ((#{l\ 2556}# + (#{gen-labels\ 405}# + (list #{v\ 2554}#)))) + (begin + (let ((#{r*\ 2558}# + (#{extend-var-env\ 377}# + #{l\ 2556}# + (list #{v\ 2554}#) + #{r*\ 2519}#))) + (begin + (let ((#{w*\ 2560}# + (#{make-binding-wrap\ 434}# + (list #{rest\ 2515}#) + #{l\ 2556}# + #{w*\ 2520}#))) + (#{expand-kw\ 2492}# + #{req\ 2513}# + (if (pair? #{out\ 2521}#) + (reverse #{out\ 2521}#) + #f) + (syntax->datum #{rest\ 2515}#) + (if (pair? #{kw\ 2516}#) + (cdr #{kw\ 2516}#) + #{kw\ 2516}#) + #{body\ 2517}# + (cons #{v\ 2554}# #{vars\ 2518}#) + #{r*\ 2558}# + #{w*\ 2560}# + (if (pair? #{kw\ 2516}#) + (car #{kw\ 2516}#) + #f) + '() + #{inits\ 2522}#))))))))) + (#{expand-kw\ 2492}# + #{req\ 2513}# + (if (pair? #{out\ 2521}#) + (reverse #{out\ 2521}#) + #f) + #f + (if (pair? #{kw\ 2516}#) + (cdr #{kw\ 2516}#) + #{kw\ 2516}#) + #{body\ 2517}# + #{vars\ 2518}# + #{r*\ 2519}# + #{w*\ 2520}# + (if (pair? #{kw\ 2516}#) (car #{kw\ 2516}#) #f) + '() + #{inits\ 2522}#))))) + (#{expand-kw\ 2492}# + (lambda (#{req\ 2562}# + #{opt\ 2563}# + #{rest\ 2564}# + #{kw\ 2565}# + #{body\ 2566}# + #{vars\ 2567}# + #{r*\ 2568}# + #{w*\ 2569}# + #{aok\ 2570}# + #{out\ 2571}# + #{inits\ 2572}#) + (if (pair? #{kw\ 2565}#) + (let ((#{tmp\ 2586}# (car #{kw\ 2565}#))) + (let ((#{tmp\ 2587}# + ($sc-dispatch + #{tmp\ 2586}# + '(any any any)))) + (if #{tmp\ 2587}# + (@apply + (lambda (#{k\ 2591}# #{id\ 2592}# #{i\ 2593}#) + (begin + (let ((#{v\ 2596}# + (#{gen-var\ 500}# #{id\ 2592}#))) + (begin + (let ((#{l\ 2598}# + (#{gen-labels\ 405}# + (list #{v\ 2596}#)))) + (begin + (let ((#{r**\ 2600}# + (#{extend-var-env\ 377}# + #{l\ 2598}# + (list #{v\ 2596}#) + #{r*\ 2568}#))) + (begin + (let ((#{w**\ 2602}# + (#{make-binding-wrap\ 434}# + (list #{id\ 2592}#) + #{l\ 2598}# + #{w*\ 2569}#))) + (#{expand-kw\ 2492}# + #{req\ 2562}# + #{opt\ 2563}# + #{rest\ 2564}# + (cdr #{kw\ 2565}#) + #{body\ 2566}# + (cons #{v\ 2596}# + #{vars\ 2567}#) + #{r**\ 2600}# + #{w**\ 2602}# + #{aok\ 2570}# + (cons (list (syntax->datum + #{k\ 2591}#) + (syntax->datum + #{id\ 2592}#) + #{v\ 2596}#) + #{out\ 2571}#) + (cons (#{chi\ 472}# + #{i\ 2593}# + #{r*\ 2568}# + #{w*\ 2569}# + #{mod\ 2477}#) + #{inits\ 2572}#))))))))))) + #{tmp\ 2587}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 2586}#)))) + (#{expand-body\ 2494}# + #{req\ 2562}# + #{opt\ 2563}# + #{rest\ 2564}# + (if (begin + (let ((#{t\ 2606}# #{aok\ 2570}#)) + (if #{t\ 2606}# + #{t\ 2606}# + (pair? #{out\ 2571}#)))) + (cons #{aok\ 2570}# (reverse #{out\ 2571}#)) + #f) + #{body\ 2566}# + (reverse #{vars\ 2567}#) + #{r*\ 2568}# + #{w*\ 2569}# + (reverse #{inits\ 2572}#) + '())))) + (#{expand-body\ 2494}# + (lambda (#{req\ 2608}# + #{opt\ 2609}# + #{rest\ 2610}# + #{kw\ 2611}# + #{body\ 2612}# + #{vars\ 2613}# + #{r*\ 2614}# + #{w*\ 2615}# + #{inits\ 2616}# + #{meta\ 2617}#) + (let ((#{tmp\ 2628}# #{body\ 2612}#)) + (let ((#{tmp\ 2629}# + ($sc-dispatch + #{tmp\ 2628}# + '(any any . each-any)))) + (if (if #{tmp\ 2629}# + (@apply + (lambda (#{docstring\ 2633}# + #{e1\ 2634}# + #{e2\ 2635}#) + (string? + (syntax->datum #{docstring\ 2633}#))) + #{tmp\ 2629}#) + #f) + (@apply + (lambda (#{docstring\ 2639}# + #{e1\ 2640}# + #{e2\ 2641}#) + (#{expand-body\ 2494}# + #{req\ 2608}# + #{opt\ 2609}# + #{rest\ 2610}# + #{kw\ 2611}# + (cons #{e1\ 2640}# #{e2\ 2641}#) + #{vars\ 2613}# + #{r*\ 2614}# + #{w*\ 2615}# + #{inits\ 2616}# + (append + #{meta\ 2617}# + (list (cons 'documentation + (syntax->datum + #{docstring\ 2639}#)))))) + #{tmp\ 2629}#) + (let ((#{tmp\ 2644}# + ($sc-dispatch + #{tmp\ 2628}# + '(#(vector #(each (any . any))) + any + . + each-any)))) + (if #{tmp\ 2644}# + (@apply + (lambda (#{k\ 2649}# + #{v\ 2650}# + #{e1\ 2651}# + #{e2\ 2652}#) + (#{expand-body\ 2494}# + #{req\ 2608}# + #{opt\ 2609}# + #{rest\ 2610}# + #{kw\ 2611}# + (cons #{e1\ 2651}# #{e2\ 2652}#) + #{vars\ 2613}# + #{r*\ 2614}# + #{w*\ 2615}# + #{inits\ 2616}# + (append + #{meta\ 2617}# + (syntax->datum + (map cons #{k\ 2649}# #{v\ 2650}#))))) + #{tmp\ 2644}#) + (let ((#{tmp\ 2656}# + ($sc-dispatch + #{tmp\ 2628}# + '(any . each-any)))) + (if #{tmp\ 2656}# + (@apply + (lambda (#{e1\ 2659}# #{e2\ 2660}#) + (values + #{meta\ 2617}# + #{req\ 2608}# + #{opt\ 2609}# + #{rest\ 2610}# + #{kw\ 2611}# + #{inits\ 2616}# + #{vars\ 2613}# + (#{chi-body\ 480}# + (cons #{e1\ 2659}# #{e2\ 2660}#) + (#{source-wrap\ 458}# + #{e\ 2473}# + #{w\ 2475}# + #{s\ 2476}# + #{mod\ 2477}#) + #{r*\ 2614}# + #{w*\ 2615}# + #{mod\ 2477}#))) + #{tmp\ 2656}#) + (syntax-violation + #f + "source expression failed to match any pattern" + #{tmp\ 2628}#))))))))))) + (begin + (let ((#{tmp\ 2662}# #{clauses\ 2479}#)) + (let ((#{tmp\ 2663}# + ($sc-dispatch #{tmp\ 2662}# (quote ())))) + (if #{tmp\ 2663}# + (@apply + (lambda () (values (quote ()) #f)) + #{tmp\ 2663}#) + (let ((#{tmp\ 2664}# + ($sc-dispatch + #{tmp\ 2662}# + '((any any . each-any) + . + #(each (any any . each-any)))))) + (if #{tmp\ 2664}# + (@apply + (lambda (#{args\ 2671}# + #{e1\ 2672}# + #{e2\ 2673}# + #{args*\ 2674}# + #{e1*\ 2675}# + #{e2*\ 2676}#) + (call-with-values + (lambda () + (#{get-formals\ 2478}# #{args\ 2671}#)) + (lambda (#{req\ 2677}# + #{opt\ 2678}# + #{rest\ 2679}# + #{kw\ 2680}#) + (call-with-values + (lambda () + (#{expand-req\ 2488}# + #{req\ 2677}# + #{opt\ 2678}# + #{rest\ 2679}# + #{kw\ 2680}# + (cons #{e1\ 2672}# #{e2\ 2673}#))) + (lambda (#{meta\ 2686}# + #{req\ 2687}# + #{opt\ 2688}# + #{rest\ 2689}# + #{kw\ 2690}# + #{inits\ 2691}# + #{vars\ 2692}# + #{body\ 2693}#) + (call-with-values + (lambda () + (#{chi-lambda-case\ 496}# + #{e\ 2473}# + #{r\ 2474}# + #{w\ 2475}# + #{s\ 2476}# + #{mod\ 2477}# + #{get-formals\ 2478}# + (map (lambda (#{tmp\ 2704}# + #{tmp\ 2703}# + #{tmp\ 2702}#) + (cons #{tmp\ 2702}# + (cons #{tmp\ 2703}# + #{tmp\ 2704}#))) + #{e2*\ 2676}# + #{e1*\ 2675}# + #{args*\ 2674}#))) + (lambda (#{meta*\ 2706}# + #{else*\ 2707}#) + (values + (append + #{meta\ 2686}# + #{meta*\ 2706}#) + (#{build-lambda-case\ 333}# + #{s\ 2476}# + #{req\ 2687}# + #{opt\ 2688}# + #{rest\ 2689}# + #{kw\ 2690}# + #{inits\ 2691}# + #{vars\ 2692}# + #{body\ 2693}# + #{else*\ 2707}#))))))))) + #{tmp\ 2664}#) (syntax-violation #f - "bad module kind" - #{var\ 2527}# - #{mod\ 2537}#)))))))))) - (#{build-lexical-assignment\ 317}# - (lambda (#{source\ 2545}# - #{name\ 2546}# - #{var\ 2547}# - #{exp\ 2548}#) - (#{make-lexical-set\ 253}# - #{source\ 2545}# - #{name\ 2546}# - #{var\ 2547}# - #{exp\ 2548}#))) - (#{build-lexical-reference\ 315}# - (lambda (#{type\ 2553}# - #{source\ 2554}# - #{name\ 2555}# - #{var\ 2556}#) - (#{make-lexical-ref\ 251}# - #{source\ 2554}# - #{name\ 2555}# - #{var\ 2556}#))) - (#{build-dynlet\ 313}# - (lambda (#{source\ 2561}# - #{fluids\ 2562}# - #{vals\ 2563}# - #{body\ 2564}#) - (#{make-dynlet\ 279}# - #{source\ 2561}# - #{fluids\ 2562}# - #{vals\ 2563}# - #{body\ 2564}#))) - (#{build-conditional\ 311}# - (lambda (#{source\ 2569}# - #{test-exp\ 2570}# - #{then-exp\ 2571}# - #{else-exp\ 2572}#) - (#{make-conditional\ 265}# - #{source\ 2569}# - #{test-exp\ 2570}# - #{then-exp\ 2571}# - #{else-exp\ 2572}#))) - (#{build-application\ 309}# - (lambda (#{source\ 2577}# - #{fun-exp\ 2578}# - #{arg-exps\ 2579}#) - (#{make-application\ 267}# - #{source\ 2577}# - #{fun-exp\ 2578}# - #{arg-exps\ 2579}#))) - (#{build-void\ 307}# - (lambda (#{source\ 2583}#) - (#{make-void\ 245}# #{source\ 2583}#))) - (#{decorate-source\ 305}# - (lambda (#{e\ 2585}# #{s\ 2586}#) + "source expression failed to match any pattern" + #{tmp\ 2662}#)))))))))) + (#{strip\ 498}# + (lambda (#{x\ 2710}# #{w\ 2711}#) + (if (memq 'top + (#{wrap-marks\ 394}# #{w\ 2711}#)) + #{x\ 2710}# + (letrec* + ((#{f\ 2717}# + (lambda (#{x\ 2718}#) + (if (#{syntax-object?\ 351}# #{x\ 2718}#) + (#{strip\ 498}# + (#{syntax-object-expression\ 353}# #{x\ 2718}#) + (#{syntax-object-wrap\ 355}# #{x\ 2718}#)) + (if (pair? #{x\ 2718}#) + (begin + (let ((#{a\ 2725}# (#{f\ 2717}# (car #{x\ 2718}#))) + (#{d\ 2726}# + (#{f\ 2717}# (cdr #{x\ 2718}#)))) + (if (if (eq? #{a\ 2725}# (car #{x\ 2718}#)) + (eq? #{d\ 2726}# (cdr #{x\ 2718}#)) + #f) + #{x\ 2718}# + (cons #{a\ 2725}# #{d\ 2726}#)))) + (if (vector? #{x\ 2718}#) + (begin + (let ((#{old\ 2732}# (vector->list #{x\ 2718}#))) + (begin + (let ((#{new\ 2734}# + (map #{f\ 2717}# #{old\ 2732}#))) + (if (#{and-map*\ 35}# + eq? + #{old\ 2732}# + #{new\ 2734}#) + #{x\ 2718}# + (list->vector #{new\ 2734}#)))))) + #{x\ 2718}#)))))) + (begin (#{f\ 2717}# #{x\ 2710}#)))))) + (#{gen-var\ 500}# + (lambda (#{id\ 2736}#) (begin - (if (if (pair? #{e\ 2585}#) #{s\ 2586}# #f) - (set-source-properties! #{e\ 2585}# #{s\ 2586}#)) - #{e\ 2585}#))) - (#{get-global-definition-hook\ 303}# - (lambda (#{symbol\ 2591}# #{module\ 2592}#) - (begin - (if (if (not #{module\ 2592}#) (current-module) #f) - (warn "module system is booted, we should have a module" - #{symbol\ 2591}#)) + (let ((#{id\ 2739}# + (if (#{syntax-object?\ 351}# #{id\ 2736}#) + (#{syntax-object-expression\ 353}# #{id\ 2736}#) + #{id\ 2736}#))) + (gensym + (string-append (symbol->string #{id\ 2739}#) " ")))))) + (#{lambda-var-list\ 502}# + (lambda (#{vars\ 2741}#) + (letrec* + ((#{lvl\ 2747}# + (lambda (#{vars\ 2748}# #{ls\ 2749}# #{w\ 2750}#) + (if (pair? #{vars\ 2748}#) + (#{lvl\ 2747}# + (cdr #{vars\ 2748}#) + (cons (#{wrap\ 456}# + (car #{vars\ 2748}#) + #{w\ 2750}# + #f) + #{ls\ 2749}#) + #{w\ 2750}#) + (if (#{id?\ 387}# #{vars\ 2748}#) + (cons (#{wrap\ 456}# #{vars\ 2748}# #{w\ 2750}# #f) + #{ls\ 2749}#) + (if (null? #{vars\ 2748}#) + #{ls\ 2749}# + (if (#{syntax-object?\ 351}# #{vars\ 2748}#) + (#{lvl\ 2747}# + (#{syntax-object-expression\ 353}# + #{vars\ 2748}#) + #{ls\ 2749}# + (#{join-wraps\ 438}# + #{w\ 2750}# + (#{syntax-object-wrap\ 355}# #{vars\ 2748}#))) + (cons #{vars\ 2748}# #{ls\ 2749}#)))))))) (begin - (let ((#{v\ 2598}# - (module-variable - (if #{module\ 2592}# - (resolve-module (cdr #{module\ 2592}#)) - (current-module)) - #{symbol\ 2591}#))) - (if #{v\ 2598}# - (if (variable-bound? #{v\ 2598}#) - (begin - (let ((#{val\ 2603}# (variable-ref #{v\ 2598}#))) - (if (macro? #{val\ 2603}#) - (if (macro-type #{val\ 2603}#) - (cons (macro-type #{val\ 2603}#) - (macro-binding #{val\ 2603}#)) - #f) - #f))) - #f) - #f)))))) - (#{put-global-definition-hook\ 301}# - (lambda (#{symbol\ 2607}# #{type\ 2608}# #{val\ 2609}#) - (module-define! - (current-module) - #{symbol\ 2607}# - (make-syntax-transformer - #{symbol\ 2607}# - #{type\ 2608}# - #{val\ 2609}#)))) - (#{local-eval-hook\ 298}# - (lambda (#{x\ 2613}# #{mod\ 2614}#) - (primitive-eval #{x\ 2613}#))) - (#{top-level-eval-hook\ 296}# - (lambda (#{x\ 2617}# #{mod\ 2618}#) - (primitive-eval #{x\ 2617}#))) - (#{set-lambda-meta!\ 286}# - (lambda (#{x\ 2621}# #{v\ 2622}#) - (struct-set! #{x\ 2621}# 1 #{v\ 2622}#))) - (#{lambda-meta\ 284}# - (lambda (#{x\ 2625}#) (struct-ref #{x\ 2625}# 1))) - (#{lambda?\ 282}# - (lambda (#{x\ 2627}#) - (if (struct? #{x\ 2627}#) - (eq? (struct-vtable #{x\ 2627}#) - (vector-ref %expanded-vtables 13)) - #f))) - (#{make-dynlet\ 279}# - (lambda (#{src\ 2631}# - #{fluids\ 2632}# - #{vals\ 2633}# - #{body\ 2634}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 17) - #{src\ 2631}# - #{fluids\ 2632}# - #{vals\ 2633}# - #{body\ 2634}#))) - (#{make-letrec\ 277}# - (lambda (#{src\ 2639}# - #{in-order?\ 2640}# - #{names\ 2641}# - #{gensyms\ 2642}# - #{vals\ 2643}# - #{body\ 2644}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 16) - #{src\ 2639}# - #{in-order?\ 2640}# - #{names\ 2641}# - #{gensyms\ 2642}# - #{vals\ 2643}# - #{body\ 2644}#))) - (#{make-let\ 275}# - (lambda (#{src\ 2651}# - #{names\ 2652}# - #{gensyms\ 2653}# - #{vals\ 2654}# - #{body\ 2655}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 15) - #{src\ 2651}# - #{names\ 2652}# - #{gensyms\ 2653}# - #{vals\ 2654}# - #{body\ 2655}#))) - (#{make-lambda-case\ 273}# - (lambda (#{src\ 2661}# - #{req\ 2662}# - #{opt\ 2663}# - #{rest\ 2664}# - #{kw\ 2665}# - #{inits\ 2666}# - #{gensyms\ 2667}# - #{body\ 2668}# - #{alternate\ 2669}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 14) - #{src\ 2661}# - #{req\ 2662}# - #{opt\ 2663}# - #{rest\ 2664}# - #{kw\ 2665}# - #{inits\ 2666}# - #{gensyms\ 2667}# - #{body\ 2668}# - #{alternate\ 2669}#))) - (#{make-lambda\ 271}# - (lambda (#{src\ 2679}# #{meta\ 2680}# #{body\ 2681}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 13) - #{src\ 2679}# - #{meta\ 2680}# - #{body\ 2681}#))) - (#{make-sequence\ 269}# - (lambda (#{src\ 2685}# #{exps\ 2686}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 12) - #{src\ 2685}# - #{exps\ 2686}#))) - (#{make-application\ 267}# - (lambda (#{src\ 2689}# #{proc\ 2690}# #{args\ 2691}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 11) - #{src\ 2689}# - #{proc\ 2690}# - #{args\ 2691}#))) - (#{make-conditional\ 265}# - (lambda (#{src\ 2695}# - #{test\ 2696}# - #{consequent\ 2697}# - #{alternate\ 2698}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 10) - #{src\ 2695}# - #{test\ 2696}# - #{consequent\ 2697}# - #{alternate\ 2698}#))) - (#{make-toplevel-define\ 263}# - (lambda (#{src\ 2703}# #{name\ 2704}# #{exp\ 2705}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 9) - #{src\ 2703}# - #{name\ 2704}# - #{exp\ 2705}#))) - (#{make-toplevel-set\ 261}# - (lambda (#{src\ 2709}# #{name\ 2710}# #{exp\ 2711}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 8) - #{src\ 2709}# - #{name\ 2710}# - #{exp\ 2711}#))) - (#{make-toplevel-ref\ 259}# - (lambda (#{src\ 2715}# #{name\ 2716}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 7) - #{src\ 2715}# - #{name\ 2716}#))) - (#{make-module-set\ 257}# - (lambda (#{src\ 2719}# - #{mod\ 2720}# - #{name\ 2721}# - #{public?\ 2722}# - #{exp\ 2723}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 6) - #{src\ 2719}# - #{mod\ 2720}# - #{name\ 2721}# - #{public?\ 2722}# - #{exp\ 2723}#))) - (#{make-module-ref\ 255}# - (lambda (#{src\ 2729}# - #{mod\ 2730}# - #{name\ 2731}# - #{public?\ 2732}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 5) - #{src\ 2729}# - #{mod\ 2730}# - #{name\ 2731}# - #{public?\ 2732}#))) - (#{make-lexical-set\ 253}# - (lambda (#{src\ 2737}# - #{name\ 2738}# - #{gensym\ 2739}# - #{exp\ 2740}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 4) - #{src\ 2737}# - #{name\ 2738}# - #{gensym\ 2739}# - #{exp\ 2740}#))) - (#{make-lexical-ref\ 251}# - (lambda (#{src\ 2745}# #{name\ 2746}# #{gensym\ 2747}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 3) - #{src\ 2745}# - #{name\ 2746}# - #{gensym\ 2747}#))) - (#{make-const\ 247}# - (lambda (#{src\ 2755}# #{exp\ 2756}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 1) - #{src\ 2755}# - #{exp\ 2756}#))) - (#{make-void\ 245}# - (lambda (#{src\ 2759}#) - (make-struct/no-tail - (vector-ref %expanded-vtables 0) - #{src\ 2759}#)))) + (#{lvl\ 2747}# + #{vars\ 2741}# + '() + '(()))))))) (begin - (set! #{ribcage?\ 410}# - (lambda (#{x\ 2286}#) - (if (vector? #{x\ 2286}#) - (if (= (vector-length #{x\ 2286}#) 4) - (eq? (vector-ref #{x\ 2286}# 0) (quote ribcage)) - #f) - #f))) - (set! #{wrap-subst\ 396}# cdr) - (set! #{wrap-marks\ 394}# car) - (set! #{make-wrap\ 392}# cons) - (set! #{binding-value\ 372}# cdr) - (set! #{binding-type\ 370}# car) - (set! #{set-syntax-object-module!\ 363}# - (lambda (#{x\ 2365}# #{update\ 2366}#) - (vector-set! #{x\ 2365}# 3 #{update\ 2366}#))) - (set! #{set-syntax-object-wrap!\ 361}# - (lambda (#{x\ 2369}# #{update\ 2370}#) - (vector-set! #{x\ 2369}# 2 #{update\ 2370}#))) - (set! #{set-syntax-object-expression!\ 359}# - (lambda (#{x\ 2373}# #{update\ 2374}#) - (vector-set! #{x\ 2373}# 1 #{update\ 2374}#))) - (set! #{fx<\ 294}# <) - (set! #{fx=\ 292}# =) - (set! #{fx-\ 290}# -) - (set! #{fx+\ 288}# +) (set! #{make-primitive-ref\ 249}# - (lambda (#{src\ 2751}# #{name\ 2752}#) + (lambda (#{src\ 723}# #{name\ 724}#) (make-struct/no-tail (vector-ref %expanded-vtables 2) - #{src\ 2751}# - #{name\ 2752}#))) + #{src\ 723}# + #{name\ 724}#))) + (set! #{fx+\ 288}# +) + (set! #{fx-\ 290}# -) + (set! #{fx=\ 292}# =) + (set! #{fx<\ 294}# <) + (set! #{set-syntax-object-expression!\ 359}# + (lambda (#{x\ 1101}# #{update\ 1102}#) + (vector-set! #{x\ 1101}# 1 #{update\ 1102}#))) + (set! #{set-syntax-object-wrap!\ 361}# + (lambda (#{x\ 1105}# #{update\ 1106}#) + (vector-set! #{x\ 1105}# 2 #{update\ 1106}#))) + (set! #{set-syntax-object-module!\ 363}# + (lambda (#{x\ 1109}# #{update\ 1110}#) + (vector-set! #{x\ 1109}# 3 #{update\ 1110}#))) + (set! #{binding-type\ 370}# car) + (set! #{binding-value\ 372}# cdr) + (set! #{make-wrap\ 392}# cons) + (set! #{wrap-marks\ 394}# car) + (set! #{wrap-subst\ 396}# cdr) + (set! #{ribcage?\ 410}# + (lambda (#{x\ 1187}#) + (if (vector? #{x\ 1187}#) + (if (= (vector-length #{x\ 1187}#) 4) + (eq? (vector-ref #{x\ 1187}# 0) (quote ribcage)) + #f) + #f))) (begin (#{global-extend\ 383}# 'local-syntax @@ -9134,377 +9144,377 @@ 'core 'syntax (letrec* - ((#{regen\ 2850}# - (lambda (#{x\ 2851}#) - (begin - (let ((#{atom-key\ 2855}# (car #{x\ 2851}#))) - (if (eqv? #{atom-key\ 2855}# (quote ref)) - (#{build-lexical-reference\ 315}# - 'value - #f - (car (cdr #{x\ 2851}#)) - (car (cdr #{x\ 2851}#))) - (if (eqv? #{atom-key\ 2855}# (quote primitive)) - (#{build-primref\ 335}# - #f - (car (cdr #{x\ 2851}#))) - (if (eqv? #{atom-key\ 2855}# (quote quote)) - (#{build-data\ 337}# #f (car (cdr #{x\ 2851}#))) - (if (eqv? #{atom-key\ 2855}# (quote lambda)) - (if (list? (car (cdr #{x\ 2851}#))) - (#{build-simple-lambda\ 329}# - #f - (car (cdr #{x\ 2851}#)) - #f - (car (cdr #{x\ 2851}#)) - '() - (#{regen\ 2850}# - (car (cdr (cdr #{x\ 2851}#))))) - (error "how did we get here" #{x\ 2851}#)) - (#{build-application\ 309}# - #f - (#{build-primref\ 335}# - #f - (car #{x\ 2851}#)) - (map #{regen\ 2850}# - (cdr #{x\ 2851}#))))))))))) - (#{gen-vector\ 2848}# - (lambda (#{x\ 2867}#) - (if (eq? (car #{x\ 2867}#) (quote list)) - (cons (quote vector) (cdr #{x\ 2867}#)) - (if (eq? (car #{x\ 2867}#) (quote quote)) - (list 'quote - (list->vector (car (cdr #{x\ 2867}#)))) - (list (quote list->vector) #{x\ 2867}#))))) - (#{gen-append\ 2846}# - (lambda (#{x\ 2877}# #{y\ 2878}#) - (if (equal? #{y\ 2878}# (quote (quote ()))) - #{x\ 2877}# - (list (quote append) #{x\ 2877}# #{y\ 2878}#)))) - (#{gen-cons\ 2844}# - (lambda (#{x\ 2882}# #{y\ 2883}#) - (begin - (let ((#{atom-key\ 2888}# (car #{y\ 2883}#))) - (if (eqv? #{atom-key\ 2888}# (quote quote)) - (if (eq? (car #{x\ 2882}#) (quote quote)) - (list 'quote - (cons (car (cdr #{x\ 2882}#)) - (car (cdr #{y\ 2883}#)))) - (if (eq? (car (cdr #{y\ 2883}#)) (quote ())) - (list (quote list) #{x\ 2882}#) - (list (quote cons) #{x\ 2882}# #{y\ 2883}#))) - (if (eqv? #{atom-key\ 2888}# (quote list)) - (cons 'list - (cons #{x\ 2882}# (cdr #{y\ 2883}#))) - (list (quote cons) #{x\ 2882}# #{y\ 2883}#))))))) - (#{gen-map\ 2842}# - (lambda (#{e\ 2897}# #{map-env\ 2898}#) - (begin - (let ((#{formals\ 2903}# (map cdr #{map-env\ 2898}#)) - (#{actuals\ 2904}# - (map (lambda (#{x\ 2905}#) - (list (quote ref) (car #{x\ 2905}#))) - #{map-env\ 2898}#))) - (if (eq? (car #{e\ 2897}#) (quote ref)) - (car #{actuals\ 2904}#) - (if (and-map - (lambda (#{x\ 2912}#) - (if (eq? (car #{x\ 2912}#) (quote ref)) - (memq (car (cdr #{x\ 2912}#)) - #{formals\ 2903}#) - #f)) - (cdr #{e\ 2897}#)) - (cons 'map - (cons (list 'primitive - (car #{e\ 2897}#)) - (map (begin - (let ((#{r\ 2918}# - (map cons - #{formals\ 2903}# - #{actuals\ 2904}#))) - (lambda (#{x\ 2919}#) - (cdr (assq (car (cdr #{x\ 2919}#)) - #{r\ 2918}#))))) - (cdr #{e\ 2897}#)))) - (cons 'map - (cons (list 'lambda - #{formals\ 2903}# - #{e\ 2897}#) - #{actuals\ 2904}#)))))))) - (#{gen-mappend\ 2840}# - (lambda (#{e\ 2923}# #{map-env\ 2924}#) - (list 'apply - '(primitive append) - (#{gen-map\ 2842}# #{e\ 2923}# #{map-env\ 2924}#)))) - (#{gen-ref\ 2838}# - (lambda (#{src\ 2928}# - #{var\ 2929}# - #{level\ 2930}# - #{maps\ 2931}#) - (if (#{fx=\ 292}# #{level\ 2930}# 0) - (values #{var\ 2929}# #{maps\ 2931}#) - (if (null? #{maps\ 2931}#) - (syntax-violation - 'syntax - "missing ellipsis" - #{src\ 2928}#) - (call-with-values - (lambda () - (#{gen-ref\ 2838}# - #{src\ 2928}# - #{var\ 2929}# - (#{fx-\ 290}# #{level\ 2930}# 1) - (cdr #{maps\ 2931}#))) - (lambda (#{outer-var\ 2936}# #{outer-maps\ 2937}#) - (begin - (let ((#{b\ 2941}# - (assq #{outer-var\ 2936}# - (car #{maps\ 2931}#)))) - (if #{b\ 2941}# - (values (cdr #{b\ 2941}#) #{maps\ 2931}#) - (begin - (let ((#{inner-var\ 2943}# - (#{gen-var\ 500}# (quote tmp)))) - (values - #{inner-var\ 2943}# - (cons (cons (cons #{outer-var\ 2936}# - #{inner-var\ 2943}#) - (car #{maps\ 2931}#)) - #{outer-maps\ 2937}#))))))))))))) - (#{gen-syntax\ 2836}# - (lambda (#{src\ 2944}# - #{e\ 2945}# - #{r\ 2946}# - #{maps\ 2947}# - #{ellipsis?\ 2948}# - #{mod\ 2949}#) - (if (#{id?\ 387}# #{e\ 2945}#) + ((#{gen-syntax\ 2836}# + (lambda (#{src\ 2851}# + #{e\ 2852}# + #{r\ 2853}# + #{maps\ 2854}# + #{ellipsis?\ 2855}# + #{mod\ 2856}#) + (if (#{id?\ 387}# #{e\ 2852}#) (begin - (let ((#{label\ 2957}# + (let ((#{label\ 2864}# (#{id-var-name\ 444}# - #{e\ 2945}# + #{e\ 2852}# '(())))) (begin - (let ((#{b\ 2960}# + (let ((#{b\ 2867}# (#{lookup\ 381}# - #{label\ 2957}# - #{r\ 2946}# - #{mod\ 2949}#))) - (if (eq? (#{binding-type\ 370}# #{b\ 2960}#) + #{label\ 2864}# + #{r\ 2853}# + #{mod\ 2856}#))) + (if (eq? (#{binding-type\ 370}# #{b\ 2867}#) 'syntax) (call-with-values (lambda () (begin - (let ((#{var.lev\ 2962}# + (let ((#{var.lev\ 2869}# (#{binding-value\ 372}# - #{b\ 2960}#))) + #{b\ 2867}#))) (#{gen-ref\ 2838}# - #{src\ 2944}# - (car #{var.lev\ 2962}#) - (cdr #{var.lev\ 2962}#) - #{maps\ 2947}#)))) - (lambda (#{var\ 2963}# #{maps\ 2964}#) + #{src\ 2851}# + (car #{var.lev\ 2869}#) + (cdr #{var.lev\ 2869}#) + #{maps\ 2854}#)))) + (lambda (#{var\ 2870}# #{maps\ 2871}#) (values - (list (quote ref) #{var\ 2963}#) - #{maps\ 2964}#))) - (if (#{ellipsis?\ 2948}# #{e\ 2945}#) + (list (quote ref) #{var\ 2870}#) + #{maps\ 2871}#))) + (if (#{ellipsis?\ 2855}# #{e\ 2852}#) (syntax-violation 'syntax "misplaced ellipsis" - #{src\ 2944}#) + #{src\ 2851}#) (values - (list (quote quote) #{e\ 2945}#) - #{maps\ 2947}#))))))) - (let ((#{tmp\ 2969}# #{e\ 2945}#)) - (let ((#{tmp\ 2970}# + (list (quote quote) #{e\ 2852}#) + #{maps\ 2854}#))))))) + (let ((#{tmp\ 2876}# #{e\ 2852}#)) + (let ((#{tmp\ 2877}# ($sc-dispatch - #{tmp\ 2969}# + #{tmp\ 2876}# '(any any)))) - (if (if #{tmp\ 2970}# + (if (if #{tmp\ 2877}# (@apply - (lambda (#{dots\ 2973}# #{e\ 2974}#) - (#{ellipsis?\ 2948}# #{dots\ 2973}#)) - #{tmp\ 2970}#) + (lambda (#{dots\ 2880}# #{e\ 2881}#) + (#{ellipsis?\ 2855}# #{dots\ 2880}#)) + #{tmp\ 2877}#) #f) (@apply - (lambda (#{dots\ 2977}# #{e\ 2978}#) + (lambda (#{dots\ 2884}# #{e\ 2885}#) (#{gen-syntax\ 2836}# - #{src\ 2944}# - #{e\ 2978}# - #{r\ 2946}# - #{maps\ 2947}# - (lambda (#{x\ 2979}#) #f) - #{mod\ 2949}#)) - #{tmp\ 2970}#) - (let ((#{tmp\ 2981}# + #{src\ 2851}# + #{e\ 2885}# + #{r\ 2853}# + #{maps\ 2854}# + (lambda (#{x\ 2886}#) #f) + #{mod\ 2856}#)) + #{tmp\ 2877}#) + (let ((#{tmp\ 2888}# ($sc-dispatch - #{tmp\ 2969}# + #{tmp\ 2876}# '(any any . any)))) - (if (if #{tmp\ 2981}# + (if (if #{tmp\ 2888}# (@apply - (lambda (#{x\ 2985}# - #{dots\ 2986}# - #{y\ 2987}#) - (#{ellipsis?\ 2948}# #{dots\ 2986}#)) - #{tmp\ 2981}#) + (lambda (#{x\ 2892}# + #{dots\ 2893}# + #{y\ 2894}#) + (#{ellipsis?\ 2855}# #{dots\ 2893}#)) + #{tmp\ 2888}#) #f) (@apply - (lambda (#{x\ 2991}# - #{dots\ 2992}# - #{y\ 2993}#) + (lambda (#{x\ 2898}# + #{dots\ 2899}# + #{y\ 2900}#) (letrec* - ((#{f\ 2997}# - (lambda (#{y\ 2998}# #{k\ 2999}#) - (let ((#{tmp\ 3006}# #{y\ 2998}#)) - (let ((#{tmp\ 3007}# + ((#{f\ 2904}# + (lambda (#{y\ 2905}# #{k\ 2906}#) + (let ((#{tmp\ 2913}# #{y\ 2905}#)) + (let ((#{tmp\ 2914}# ($sc-dispatch - #{tmp\ 3006}# + #{tmp\ 2913}# '(any . any)))) - (if (if #{tmp\ 3007}# + (if (if #{tmp\ 2914}# (@apply - (lambda (#{dots\ 3010}# - #{y\ 3011}#) - (#{ellipsis?\ 2948}# - #{dots\ 3010}#)) - #{tmp\ 3007}#) + (lambda (#{dots\ 2917}# + #{y\ 2918}#) + (#{ellipsis?\ 2855}# + #{dots\ 2917}#)) + #{tmp\ 2914}#) #f) (@apply - (lambda (#{dots\ 3014}# - #{y\ 3015}#) - (#{f\ 2997}# - #{y\ 3015}# - (lambda (#{maps\ 3016}#) + (lambda (#{dots\ 2921}# + #{y\ 2922}#) + (#{f\ 2904}# + #{y\ 2922}# + (lambda (#{maps\ 2923}#) (call-with-values (lambda () - (#{k\ 2999}# + (#{k\ 2906}# (cons '() - #{maps\ 3016}#))) - (lambda (#{x\ 3018}# - #{maps\ 3019}#) - (if (null? (car #{maps\ 3019}#)) + #{maps\ 2923}#))) + (lambda (#{x\ 2925}# + #{maps\ 2926}#) + (if (null? (car #{maps\ 2926}#)) (syntax-violation 'syntax "extra ellipsis" - #{src\ 2944}#) + #{src\ 2851}#) (values (#{gen-mappend\ 2840}# - #{x\ 3018}# - (car #{maps\ 3019}#)) - (cdr #{maps\ 3019}#)))))))) - #{tmp\ 3007}#) - (let ((#{_\ 3023}# - #{tmp\ 3006}#)) + #{x\ 2925}# + (car #{maps\ 2926}#)) + (cdr #{maps\ 2926}#)))))))) + #{tmp\ 2914}#) + (let ((#{_\ 2930}# + #{tmp\ 2913}#)) (call-with-values (lambda () (#{gen-syntax\ 2836}# - #{src\ 2944}# - #{y\ 2998}# - #{r\ 2946}# - #{maps\ 2947}# - #{ellipsis?\ 2948}# - #{mod\ 2949}#)) - (lambda (#{y\ 3024}# - #{maps\ 3025}#) + #{src\ 2851}# + #{y\ 2905}# + #{r\ 2853}# + #{maps\ 2854}# + #{ellipsis?\ 2855}# + #{mod\ 2856}#)) + (lambda (#{y\ 2931}# + #{maps\ 2932}#) (call-with-values (lambda () - (#{k\ 2999}# - #{maps\ 3025}#)) - (lambda (#{x\ 3028}# - #{maps\ 3029}#) + (#{k\ 2906}# + #{maps\ 2932}#)) + (lambda (#{x\ 2935}# + #{maps\ 2936}#) (values (#{gen-append\ 2846}# - #{x\ 3028}# - #{y\ 3024}#) - #{maps\ 3029}#)))))))))))) + #{x\ 2935}# + #{y\ 2931}#) + #{maps\ 2936}#)))))))))))) (begin - (#{f\ 2997}# - #{y\ 2993}# - (lambda (#{maps\ 3000}#) + (#{f\ 2904}# + #{y\ 2900}# + (lambda (#{maps\ 2907}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# - #{src\ 2944}# - #{x\ 2991}# - #{r\ 2946}# + #{src\ 2851}# + #{x\ 2898}# + #{r\ 2853}# (cons '() - #{maps\ 3000}#) - #{ellipsis?\ 2948}# - #{mod\ 2949}#)) - (lambda (#{x\ 3002}# - #{maps\ 3003}#) - (if (null? (car #{maps\ 3003}#)) + #{maps\ 2907}#) + #{ellipsis?\ 2855}# + #{mod\ 2856}#)) + (lambda (#{x\ 2909}# + #{maps\ 2910}#) + (if (null? (car #{maps\ 2910}#)) (syntax-violation 'syntax "extra ellipsis" - #{src\ 2944}#) + #{src\ 2851}#) (values (#{gen-map\ 2842}# - #{x\ 3002}# - (car #{maps\ 3003}#)) - (cdr #{maps\ 3003}#)))))))))) - #{tmp\ 2981}#) - (let ((#{tmp\ 3032}# + #{x\ 2909}# + (car #{maps\ 2910}#)) + (cdr #{maps\ 2910}#)))))))))) + #{tmp\ 2888}#) + (let ((#{tmp\ 2939}# ($sc-dispatch - #{tmp\ 2969}# + #{tmp\ 2876}# '(any . any)))) - (if #{tmp\ 3032}# + (if #{tmp\ 2939}# (@apply - (lambda (#{x\ 3035}# #{y\ 3036}#) + (lambda (#{x\ 2942}# #{y\ 2943}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# - #{src\ 2944}# - #{x\ 3035}# - #{r\ 2946}# - #{maps\ 2947}# - #{ellipsis?\ 2948}# - #{mod\ 2949}#)) - (lambda (#{x\ 3037}# #{maps\ 3038}#) + #{src\ 2851}# + #{x\ 2942}# + #{r\ 2853}# + #{maps\ 2854}# + #{ellipsis?\ 2855}# + #{mod\ 2856}#)) + (lambda (#{x\ 2944}# #{maps\ 2945}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# - #{src\ 2944}# - #{y\ 3036}# - #{r\ 2946}# - #{maps\ 3038}# - #{ellipsis?\ 2948}# - #{mod\ 2949}#)) - (lambda (#{y\ 3041}# - #{maps\ 3042}#) + #{src\ 2851}# + #{y\ 2943}# + #{r\ 2853}# + #{maps\ 2945}# + #{ellipsis?\ 2855}# + #{mod\ 2856}#)) + (lambda (#{y\ 2948}# + #{maps\ 2949}#) (values (#{gen-cons\ 2844}# - #{x\ 3037}# - #{y\ 3041}#) - #{maps\ 3042}#)))))) - #{tmp\ 3032}#) - (let ((#{tmp\ 3045}# + #{x\ 2944}# + #{y\ 2948}#) + #{maps\ 2949}#)))))) + #{tmp\ 2939}#) + (let ((#{tmp\ 2952}# ($sc-dispatch - #{tmp\ 2969}# + #{tmp\ 2876}# '#(vector (any . each-any))))) - (if #{tmp\ 3045}# + (if #{tmp\ 2952}# (@apply - (lambda (#{e1\ 3048}# #{e2\ 3049}#) + (lambda (#{e1\ 2955}# #{e2\ 2956}#) (call-with-values (lambda () (#{gen-syntax\ 2836}# - #{src\ 2944}# - (cons #{e1\ 3048}# - #{e2\ 3049}#) - #{r\ 2946}# - #{maps\ 2947}# - #{ellipsis?\ 2948}# - #{mod\ 2949}#)) - (lambda (#{e\ 3051}# - #{maps\ 3052}#) + #{src\ 2851}# + (cons #{e1\ 2955}# + #{e2\ 2956}#) + #{r\ 2853}# + #{maps\ 2854}# + #{ellipsis?\ 2855}# + #{mod\ 2856}#)) + (lambda (#{e\ 2958}# + #{maps\ 2959}#) (values (#{gen-vector\ 2848}# - #{e\ 3051}#) - #{maps\ 3052}#)))) - #{tmp\ 3045}#) - (let ((#{_\ 3056}# #{tmp\ 2969}#)) + #{e\ 2958}#) + #{maps\ 2959}#)))) + #{tmp\ 2952}#) + (let ((#{_\ 2963}# #{tmp\ 2876}#)) (values - (list (quote quote) #{e\ 2945}#) - #{maps\ 2947}#))))))))))))))) + (list (quote quote) #{e\ 2852}#) + #{maps\ 2854}#)))))))))))))) + (#{gen-ref\ 2838}# + (lambda (#{src\ 2965}# + #{var\ 2966}# + #{level\ 2967}# + #{maps\ 2968}#) + (if (#{fx=\ 292}# #{level\ 2967}# 0) + (values #{var\ 2966}# #{maps\ 2968}#) + (if (null? #{maps\ 2968}#) + (syntax-violation + 'syntax + "missing ellipsis" + #{src\ 2965}#) + (call-with-values + (lambda () + (#{gen-ref\ 2838}# + #{src\ 2965}# + #{var\ 2966}# + (#{fx-\ 290}# #{level\ 2967}# 1) + (cdr #{maps\ 2968}#))) + (lambda (#{outer-var\ 2973}# #{outer-maps\ 2974}#) + (begin + (let ((#{b\ 2978}# + (assq #{outer-var\ 2973}# + (car #{maps\ 2968}#)))) + (if #{b\ 2978}# + (values (cdr #{b\ 2978}#) #{maps\ 2968}#) + (begin + (let ((#{inner-var\ 2980}# + (#{gen-var\ 500}# (quote tmp)))) + (values + #{inner-var\ 2980}# + (cons (cons (cons #{outer-var\ 2973}# + #{inner-var\ 2980}#) + (car #{maps\ 2968}#)) + #{outer-maps\ 2974}#))))))))))))) + (#{gen-mappend\ 2840}# + (lambda (#{e\ 2981}# #{map-env\ 2982}#) + (list 'apply + '(primitive append) + (#{gen-map\ 2842}# #{e\ 2981}# #{map-env\ 2982}#)))) + (#{gen-map\ 2842}# + (lambda (#{e\ 2986}# #{map-env\ 2987}#) + (begin + (let ((#{formals\ 2992}# (map cdr #{map-env\ 2987}#)) + (#{actuals\ 2993}# + (map (lambda (#{x\ 2994}#) + (list (quote ref) (car #{x\ 2994}#))) + #{map-env\ 2987}#))) + (if (eq? (car #{e\ 2986}#) (quote ref)) + (car #{actuals\ 2993}#) + (if (and-map + (lambda (#{x\ 3001}#) + (if (eq? (car #{x\ 3001}#) (quote ref)) + (memq (car (cdr #{x\ 3001}#)) + #{formals\ 2992}#) + #f)) + (cdr #{e\ 2986}#)) + (cons 'map + (cons (list 'primitive + (car #{e\ 2986}#)) + (map (begin + (let ((#{r\ 3007}# + (map cons + #{formals\ 2992}# + #{actuals\ 2993}#))) + (lambda (#{x\ 3008}#) + (cdr (assq (car (cdr #{x\ 3008}#)) + #{r\ 3007}#))))) + (cdr #{e\ 2986}#)))) + (cons 'map + (cons (list 'lambda + #{formals\ 2992}# + #{e\ 2986}#) + #{actuals\ 2993}#)))))))) + (#{gen-cons\ 2844}# + (lambda (#{x\ 3012}# #{y\ 3013}#) + (begin + (let ((#{atom-key\ 3018}# (car #{y\ 3013}#))) + (if (eqv? #{atom-key\ 3018}# (quote quote)) + (if (eq? (car #{x\ 3012}#) (quote quote)) + (list 'quote + (cons (car (cdr #{x\ 3012}#)) + (car (cdr #{y\ 3013}#)))) + (if (eq? (car (cdr #{y\ 3013}#)) (quote ())) + (list (quote list) #{x\ 3012}#) + (list (quote cons) #{x\ 3012}# #{y\ 3013}#))) + (if (eqv? #{atom-key\ 3018}# (quote list)) + (cons 'list + (cons #{x\ 3012}# (cdr #{y\ 3013}#))) + (list (quote cons) #{x\ 3012}# #{y\ 3013}#))))))) + (#{gen-append\ 2846}# + (lambda (#{x\ 3027}# #{y\ 3028}#) + (if (equal? #{y\ 3028}# (quote (quote ()))) + #{x\ 3027}# + (list (quote append) #{x\ 3027}# #{y\ 3028}#)))) + (#{gen-vector\ 2848}# + (lambda (#{x\ 3032}#) + (if (eq? (car #{x\ 3032}#) (quote list)) + (cons (quote vector) (cdr #{x\ 3032}#)) + (if (eq? (car #{x\ 3032}#) (quote quote)) + (list 'quote + (list->vector (car (cdr #{x\ 3032}#)))) + (list (quote list->vector) #{x\ 3032}#))))) + (#{regen\ 2850}# + (lambda (#{x\ 3042}#) + (begin + (let ((#{atom-key\ 3046}# (car #{x\ 3042}#))) + (if (eqv? #{atom-key\ 3046}# (quote ref)) + (#{build-lexical-reference\ 315}# + 'value + #f + (car (cdr #{x\ 3042}#)) + (car (cdr #{x\ 3042}#))) + (if (eqv? #{atom-key\ 3046}# (quote primitive)) + (#{build-primref\ 335}# + #f + (car (cdr #{x\ 3042}#))) + (if (eqv? #{atom-key\ 3046}# (quote quote)) + (#{build-data\ 337}# #f (car (cdr #{x\ 3042}#))) + (if (eqv? #{atom-key\ 3046}# (quote lambda)) + (if (list? (car (cdr #{x\ 3042}#))) + (#{build-simple-lambda\ 329}# + #f + (car (cdr #{x\ 3042}#)) + #f + (car (cdr #{x\ 3042}#)) + '() + (#{regen\ 2850}# + (car (cdr (cdr #{x\ 3042}#))))) + (error "how did we get here" #{x\ 3042}#)) + (#{build-application\ 309}# + #f + (#{build-primref\ 335}# + #f + (car #{x\ 3042}#)) + (map #{regen\ 2850}# + (cdr #{x\ 3042}#)))))))))))) (begin (lambda (#{e\ 3058}# #{r\ 3059}# @@ -11865,13 +11875,336 @@ 'core 'syntax-case (letrec* - ((#{gen-syntax-case\ 3671}# - (lambda (#{x\ 3672}# - #{keys\ 3673}# - #{clauses\ 3674}# - #{r\ 3675}# - #{mod\ 3676}#) - (if (null? #{clauses\ 3674}#) + ((#{convert-pattern\ 3665}# + (lambda (#{pattern\ 3672}# #{keys\ 3673}#) + (letrec* + ((#{cvt*\ 3677}# + (lambda (#{p*\ 3680}# #{n\ 3681}# #{ids\ 3682}#) + (if (null? #{p*\ 3680}#) + (values (quote ()) #{ids\ 3682}#) + (call-with-values + (lambda () + (#{cvt*\ 3677}# + (cdr #{p*\ 3680}#) + #{n\ 3681}# + #{ids\ 3682}#)) + (lambda (#{y\ 3686}# #{ids\ 3687}#) + (call-with-values + (lambda () + (#{cvt\ 3679}# + (car #{p*\ 3680}#) + #{n\ 3681}# + #{ids\ 3687}#)) + (lambda (#{x\ 3690}# #{ids\ 3691}#) + (values + (cons #{x\ 3690}# #{y\ 3686}#) + #{ids\ 3691}#)))))))) + (#{cvt\ 3679}# + (lambda (#{p\ 3694}# #{n\ 3695}# #{ids\ 3696}#) + (if (#{id?\ 387}# #{p\ 3694}#) + (if (#{bound-id-member?\ 454}# + #{p\ 3694}# + #{keys\ 3673}#) + (values + (vector (quote free-id) #{p\ 3694}#) + #{ids\ 3696}#) + (values + 'any + (cons (cons #{p\ 3694}# #{n\ 3695}#) + #{ids\ 3696}#))) + (let ((#{tmp\ 3700}# #{p\ 3694}#)) + (let ((#{tmp\ 3701}# + ($sc-dispatch + #{tmp\ 3700}# + '(any any)))) + (if (if #{tmp\ 3701}# + (@apply + (lambda (#{x\ 3704}# #{dots\ 3705}#) + (#{ellipsis?\ 488}# + #{dots\ 3705}#)) + #{tmp\ 3701}#) + #f) + (@apply + (lambda (#{x\ 3708}# #{dots\ 3709}#) + (call-with-values + (lambda () + (#{cvt\ 3679}# + #{x\ 3708}# + (#{fx+\ 288}# #{n\ 3695}# 1) + #{ids\ 3696}#)) + (lambda (#{p\ 3710}# #{ids\ 3711}#) + (values + (if (eq? #{p\ 3710}# (quote any)) + 'each-any + (vector + 'each + #{p\ 3710}#)) + #{ids\ 3711}#)))) + #{tmp\ 3701}#) + (let ((#{tmp\ 3714}# + ($sc-dispatch + #{tmp\ 3700}# + '(any any . each-any)))) + (if (if #{tmp\ 3714}# + (@apply + (lambda (#{x\ 3718}# + #{dots\ 3719}# + #{ys\ 3720}#) + (#{ellipsis?\ 488}# + #{dots\ 3719}#)) + #{tmp\ 3714}#) + #f) + (@apply + (lambda (#{x\ 3724}# + #{dots\ 3725}# + #{ys\ 3726}#) + (call-with-values + (lambda () + (#{cvt*\ 3677}# + #{ys\ 3726}# + #{n\ 3695}# + #{ids\ 3696}#)) + (lambda (#{ys\ 3728}# + #{ids\ 3729}#) + (call-with-values + (lambda () + (#{cvt\ 3679}# + #{x\ 3724}# + (1+ #{n\ 3695}#) + #{ids\ 3729}#)) + (lambda (#{x\ 3732}# + #{ids\ 3733}#) + (values + (list->vector + (cons 'each+ + (cons #{x\ 3732}# + (cons (reverse + #{ys\ 3728}#) + '(()))))) + #{ids\ 3733}#)))))) + #{tmp\ 3714}#) + (let ((#{tmp\ 3737}# + ($sc-dispatch + #{tmp\ 3700}# + '(any . any)))) + (if #{tmp\ 3737}# + (@apply + (lambda (#{x\ 3740}# #{y\ 3741}#) + (call-with-values + (lambda () + (#{cvt\ 3679}# + #{y\ 3741}# + #{n\ 3695}# + #{ids\ 3696}#)) + (lambda (#{y\ 3742}# + #{ids\ 3743}#) + (call-with-values + (lambda () + (#{cvt\ 3679}# + #{x\ 3740}# + #{n\ 3695}# + #{ids\ 3743}#)) + (lambda (#{x\ 3746}# + #{ids\ 3747}#) + (values + (cons #{x\ 3746}# + #{y\ 3742}#) + #{ids\ 3747}#)))))) + #{tmp\ 3737}#) + (let ((#{tmp\ 3750}# + ($sc-dispatch + #{tmp\ 3700}# + '()))) + (if #{tmp\ 3750}# + (@apply + (lambda () + (values + '() + #{ids\ 3696}#)) + #{tmp\ 3750}#) + (let ((#{tmp\ 3751}# + ($sc-dispatch + #{tmp\ 3700}# + '#(vector + each-any)))) + (if #{tmp\ 3751}# + (@apply + (lambda (#{x\ 3753}#) + (call-with-values + (lambda () + (#{cvt\ 3679}# + #{x\ 3753}# + #{n\ 3695}# + #{ids\ 3696}#)) + (lambda (#{p\ 3755}# + #{ids\ 3756}#) + (values + (vector + 'vector + #{p\ 3755}#) + #{ids\ 3756}#)))) + #{tmp\ 3751}#) + (let ((#{x\ 3760}# + #{tmp\ 3700}#)) + (values + (vector + 'atom + (#{strip\ 498}# + #{p\ 3694}# + '(()))) + #{ids\ 3696}#))))))))))))))))) + (begin + (#{cvt\ 3679}# #{pattern\ 3672}# 0 (quote ())))))) + (#{build-dispatch-call\ 3667}# + (lambda (#{pvars\ 3762}# + #{exp\ 3763}# + #{y\ 3764}# + #{r\ 3765}# + #{mod\ 3766}#) + (begin + (map cdr #{pvars\ 3762}#) + (let ((#{ids\ 3774}# (map car #{pvars\ 3762}#))) + (begin + (let ((#{labels\ 3778}# + (#{gen-labels\ 405}# #{ids\ 3774}#)) + (#{new-vars\ 3779}# + (map #{gen-var\ 500}# #{ids\ 3774}#))) + (#{build-application\ 309}# + #f + (#{build-primref\ 335}# #f (quote apply)) + (list (#{build-simple-lambda\ 329}# + #f + (map syntax->datum #{ids\ 3774}#) + #f + #{new-vars\ 3779}# + '() + (#{chi\ 472}# + #{exp\ 3763}# + (#{extend-env\ 375}# + #{labels\ 3778}# + (map (lambda (#{var\ 3783}# + #{level\ 3784}#) + (cons 'syntax + (cons #{var\ 3783}# + #{level\ 3784}#))) + #{new-vars\ 3779}# + (map cdr #{pvars\ 3762}#)) + #{r\ 3765}#) + (#{make-binding-wrap\ 434}# + #{ids\ 3774}# + #{labels\ 3778}# + '(())) + #{mod\ 3766}#)) + #{y\ 3764}#)))))))) + (#{gen-clause\ 3669}# + (lambda (#{x\ 3790}# + #{keys\ 3791}# + #{clauses\ 3792}# + #{r\ 3793}# + #{pat\ 3794}# + #{fender\ 3795}# + #{exp\ 3796}# + #{mod\ 3797}#) + (call-with-values + (lambda () + (#{convert-pattern\ 3665}# + #{pat\ 3794}# + #{keys\ 3791}#)) + (lambda (#{p\ 3806}# #{pvars\ 3807}#) + (if (not (#{distinct-bound-ids?\ 452}# + (map car #{pvars\ 3807}#))) + (syntax-violation + 'syntax-case + "duplicate pattern variable" + #{pat\ 3794}#) + (if (not (and-map + (lambda (#{x\ 3814}#) + (not (#{ellipsis?\ 488}# + (car #{x\ 3814}#)))) + #{pvars\ 3807}#)) + (syntax-violation + 'syntax-case + "misplaced ellipsis" + #{pat\ 3794}#) + (begin + (let ((#{y\ 3818}# + (#{gen-var\ 500}# (quote tmp)))) + (#{build-application\ 309}# + #f + (#{build-simple-lambda\ 329}# + #f + (list (quote tmp)) + #f + (list #{y\ 3818}#) + '() + (begin + (let ((#{y\ 3822}# + (#{build-lexical-reference\ 315}# + 'value + #f + 'tmp + #{y\ 3818}#))) + (#{build-conditional\ 311}# + #f + (let ((#{tmp\ 3825}# + #{fender\ 3795}#)) + (let ((#{tmp\ 3826}# + ($sc-dispatch + #{tmp\ 3825}# + '#(atom #t)))) + (if #{tmp\ 3826}# + (@apply + (lambda () #{y\ 3822}#) + #{tmp\ 3826}#) + (let ((#{_\ 3828}# + #{tmp\ 3825}#)) + (#{build-conditional\ 311}# + #f + #{y\ 3822}# + (#{build-dispatch-call\ 3667}# + #{pvars\ 3807}# + #{fender\ 3795}# + #{y\ 3822}# + #{r\ 3793}# + #{mod\ 3797}#) + (#{build-data\ 337}# + #f + #f)))))) + (#{build-dispatch-call\ 3667}# + #{pvars\ 3807}# + #{exp\ 3796}# + #{y\ 3822}# + #{r\ 3793}# + #{mod\ 3797}#) + (#{gen-syntax-case\ 3671}# + #{x\ 3790}# + #{keys\ 3791}# + #{clauses\ 3792}# + #{r\ 3793}# + #{mod\ 3797}#))))) + (list (if (eq? #{p\ 3806}# (quote any)) + (#{build-application\ 309}# + #f + (#{build-primref\ 335}# + #f + 'list) + (list #{x\ 3790}#)) + (#{build-application\ 309}# + #f + (#{build-primref\ 335}# + #f + '$sc-dispatch) + (list #{x\ 3790}# + (#{build-data\ 337}# + #f + #{p\ 3806}#)))))))))))))) + (#{gen-syntax-case\ 3671}# + (lambda (#{x\ 3836}# + #{keys\ 3837}# + #{clauses\ 3838}# + #{r\ 3839}# + #{mod\ 3840}#) + (if (null? #{clauses\ 3838}#) (#{build-application\ 309}# #f (#{build-primref\ 335}# @@ -11881,28 +12214,28 @@ (#{build-data\ 337}# #f "source expression failed to match any pattern") - #{x\ 3672}#)) - (let ((#{tmp\ 3686}# (car #{clauses\ 3674}#))) - (let ((#{tmp\ 3687}# + #{x\ 3836}#)) + (let ((#{tmp\ 3850}# (car #{clauses\ 3838}#))) + (let ((#{tmp\ 3851}# ($sc-dispatch - #{tmp\ 3686}# + #{tmp\ 3850}# '(any any)))) - (if #{tmp\ 3687}# + (if #{tmp\ 3851}# (@apply - (lambda (#{pat\ 3690}# #{exp\ 3691}#) - (if (if (#{id?\ 387}# #{pat\ 3690}#) + (lambda (#{pat\ 3854}# #{exp\ 3855}#) + (if (if (#{id?\ 387}# #{pat\ 3854}#) (and-map - (lambda (#{x\ 3694}#) + (lambda (#{x\ 3858}#) (not (#{free-id=?\ 446}# - #{pat\ 3690}# - #{x\ 3694}#))) + #{pat\ 3854}# + #{x\ 3858}#))) (cons '#(syntax-object ... ((top) #(ribcage #(pat exp) #((top) (top)) - #("i3688" "i3689")) + #("i3852" "i3853")) #(ribcage () () ()) #(ribcage #(x keys clauses r mod) @@ -11911,11 +12244,11 @@ (top) (top) (top)) - #("i3677" - "i3678" - "i3679" - "i3680" - "i3681")) + #("i3841" + "i3842" + "i3843" + "i3844" + "i3845")) #(ribcage (gen-syntax-case gen-clause @@ -12349,392 +12682,69 @@ "i36" "i34"))) (hygiene guile)) - #{keys\ 3673}#)) + #{keys\ 3837}#)) #f) (begin - (let ((#{labels\ 3698}# + (let ((#{labels\ 3862}# (list (#{gen-label\ 403}#))) - (#{var\ 3699}# - (#{gen-var\ 500}# #{pat\ 3690}#))) + (#{var\ 3863}# + (#{gen-var\ 500}# #{pat\ 3854}#))) (#{build-application\ 309}# #f (#{build-simple-lambda\ 329}# #f - (list (syntax->datum #{pat\ 3690}#)) + (list (syntax->datum #{pat\ 3854}#)) #f - (list #{var\ 3699}#) + (list #{var\ 3863}#) '() (#{chi\ 472}# - #{exp\ 3691}# + #{exp\ 3855}# (#{extend-env\ 375}# - #{labels\ 3698}# + #{labels\ 3862}# (list (cons 'syntax - (cons #{var\ 3699}# + (cons #{var\ 3863}# 0))) - #{r\ 3675}#) + #{r\ 3839}#) (#{make-binding-wrap\ 434}# - (list #{pat\ 3690}#) - #{labels\ 3698}# + (list #{pat\ 3854}#) + #{labels\ 3862}# '(())) - #{mod\ 3676}#)) - (list #{x\ 3672}#)))) + #{mod\ 3840}#)) + (list #{x\ 3836}#)))) (#{gen-clause\ 3669}# - #{x\ 3672}# - #{keys\ 3673}# - (cdr #{clauses\ 3674}#) - #{r\ 3675}# - #{pat\ 3690}# + #{x\ 3836}# + #{keys\ 3837}# + (cdr #{clauses\ 3838}#) + #{r\ 3839}# + #{pat\ 3854}# #t - #{exp\ 3691}# - #{mod\ 3676}#))) - #{tmp\ 3687}#) - (let ((#{tmp\ 3705}# + #{exp\ 3855}# + #{mod\ 3840}#))) + #{tmp\ 3851}#) + (let ((#{tmp\ 3869}# ($sc-dispatch - #{tmp\ 3686}# + #{tmp\ 3850}# '(any any any)))) - (if #{tmp\ 3705}# + (if #{tmp\ 3869}# (@apply - (lambda (#{pat\ 3709}# - #{fender\ 3710}# - #{exp\ 3711}#) + (lambda (#{pat\ 3873}# + #{fender\ 3874}# + #{exp\ 3875}#) (#{gen-clause\ 3669}# - #{x\ 3672}# - #{keys\ 3673}# - (cdr #{clauses\ 3674}#) - #{r\ 3675}# - #{pat\ 3709}# - #{fender\ 3710}# - #{exp\ 3711}# - #{mod\ 3676}#)) - #{tmp\ 3705}#) - (let ((#{_\ 3713}# #{tmp\ 3686}#)) + #{x\ 3836}# + #{keys\ 3837}# + (cdr #{clauses\ 3838}#) + #{r\ 3839}# + #{pat\ 3873}# + #{fender\ 3874}# + #{exp\ 3875}# + #{mod\ 3840}#)) + #{tmp\ 3869}#) + (let ((#{_\ 3877}# #{tmp\ 3850}#)) (syntax-violation 'syntax-case "invalid clause" - (car #{clauses\ 3674}#))))))))))) - (#{gen-clause\ 3669}# - (lambda (#{x\ 3714}# - #{keys\ 3715}# - #{clauses\ 3716}# - #{r\ 3717}# - #{pat\ 3718}# - #{fender\ 3719}# - #{exp\ 3720}# - #{mod\ 3721}#) - (call-with-values - (lambda () - (#{convert-pattern\ 3665}# - #{pat\ 3718}# - #{keys\ 3715}#)) - (lambda (#{p\ 3730}# #{pvars\ 3731}#) - (if (not (#{distinct-bound-ids?\ 452}# - (map car #{pvars\ 3731}#))) - (syntax-violation - 'syntax-case - "duplicate pattern variable" - #{pat\ 3718}#) - (if (not (and-map - (lambda (#{x\ 3738}#) - (not (#{ellipsis?\ 488}# - (car #{x\ 3738}#)))) - #{pvars\ 3731}#)) - (syntax-violation - 'syntax-case - "misplaced ellipsis" - #{pat\ 3718}#) - (begin - (let ((#{y\ 3742}# - (#{gen-var\ 500}# (quote tmp)))) - (#{build-application\ 309}# - #f - (#{build-simple-lambda\ 329}# - #f - (list (quote tmp)) - #f - (list #{y\ 3742}#) - '() - (begin - (let ((#{y\ 3746}# - (#{build-lexical-reference\ 315}# - 'value - #f - 'tmp - #{y\ 3742}#))) - (#{build-conditional\ 311}# - #f - (let ((#{tmp\ 3749}# - #{fender\ 3719}#)) - (let ((#{tmp\ 3750}# - ($sc-dispatch - #{tmp\ 3749}# - '#(atom #t)))) - (if #{tmp\ 3750}# - (@apply - (lambda () #{y\ 3746}#) - #{tmp\ 3750}#) - (let ((#{_\ 3752}# - #{tmp\ 3749}#)) - (#{build-conditional\ 311}# - #f - #{y\ 3746}# - (#{build-dispatch-call\ 3667}# - #{pvars\ 3731}# - #{fender\ 3719}# - #{y\ 3746}# - #{r\ 3717}# - #{mod\ 3721}#) - (#{build-data\ 337}# - #f - #f)))))) - (#{build-dispatch-call\ 3667}# - #{pvars\ 3731}# - #{exp\ 3720}# - #{y\ 3746}# - #{r\ 3717}# - #{mod\ 3721}#) - (#{gen-syntax-case\ 3671}# - #{x\ 3714}# - #{keys\ 3715}# - #{clauses\ 3716}# - #{r\ 3717}# - #{mod\ 3721}#))))) - (list (if (eq? #{p\ 3730}# (quote any)) - (#{build-application\ 309}# - #f - (#{build-primref\ 335}# - #f - 'list) - (list #{x\ 3714}#)) - (#{build-application\ 309}# - #f - (#{build-primref\ 335}# - #f - '$sc-dispatch) - (list #{x\ 3714}# - (#{build-data\ 337}# - #f - #{p\ 3730}#)))))))))))))) - (#{build-dispatch-call\ 3667}# - (lambda (#{pvars\ 3760}# - #{exp\ 3761}# - #{y\ 3762}# - #{r\ 3763}# - #{mod\ 3764}#) - (begin - (map cdr #{pvars\ 3760}#) - (let ((#{ids\ 3772}# (map car #{pvars\ 3760}#))) - (begin - (let ((#{labels\ 3776}# - (#{gen-labels\ 405}# #{ids\ 3772}#)) - (#{new-vars\ 3777}# - (map #{gen-var\ 500}# #{ids\ 3772}#))) - (#{build-application\ 309}# - #f - (#{build-primref\ 335}# #f (quote apply)) - (list (#{build-simple-lambda\ 329}# - #f - (map syntax->datum #{ids\ 3772}#) - #f - #{new-vars\ 3777}# - '() - (#{chi\ 472}# - #{exp\ 3761}# - (#{extend-env\ 375}# - #{labels\ 3776}# - (map (lambda (#{var\ 3781}# - #{level\ 3782}#) - (cons 'syntax - (cons #{var\ 3781}# - #{level\ 3782}#))) - #{new-vars\ 3777}# - (map cdr #{pvars\ 3760}#)) - #{r\ 3763}#) - (#{make-binding-wrap\ 434}# - #{ids\ 3772}# - #{labels\ 3776}# - '(())) - #{mod\ 3764}#)) - #{y\ 3762}#)))))))) - (#{convert-pattern\ 3665}# - (lambda (#{pattern\ 3788}# #{keys\ 3789}#) - (letrec* - ((#{cvt\ 3795}# - (lambda (#{p\ 3796}# #{n\ 3797}# #{ids\ 3798}#) - (if (#{id?\ 387}# #{p\ 3796}#) - (if (#{bound-id-member?\ 454}# - #{p\ 3796}# - #{keys\ 3789}#) - (values - (vector (quote free-id) #{p\ 3796}#) - #{ids\ 3798}#) - (values - 'any - (cons (cons #{p\ 3796}# #{n\ 3797}#) - #{ids\ 3798}#))) - (let ((#{tmp\ 3802}# #{p\ 3796}#)) - (let ((#{tmp\ 3803}# - ($sc-dispatch - #{tmp\ 3802}# - '(any any)))) - (if (if #{tmp\ 3803}# - (@apply - (lambda (#{x\ 3806}# #{dots\ 3807}#) - (#{ellipsis?\ 488}# - #{dots\ 3807}#)) - #{tmp\ 3803}#) - #f) - (@apply - (lambda (#{x\ 3810}# #{dots\ 3811}#) - (call-with-values - (lambda () - (#{cvt\ 3795}# - #{x\ 3810}# - (#{fx+\ 288}# #{n\ 3797}# 1) - #{ids\ 3798}#)) - (lambda (#{p\ 3812}# #{ids\ 3813}#) - (values - (if (eq? #{p\ 3812}# (quote any)) - 'each-any - (vector - 'each - #{p\ 3812}#)) - #{ids\ 3813}#)))) - #{tmp\ 3803}#) - (let ((#{tmp\ 3816}# - ($sc-dispatch - #{tmp\ 3802}# - '(any any . each-any)))) - (if (if #{tmp\ 3816}# - (@apply - (lambda (#{x\ 3820}# - #{dots\ 3821}# - #{ys\ 3822}#) - (#{ellipsis?\ 488}# - #{dots\ 3821}#)) - #{tmp\ 3816}#) - #f) - (@apply - (lambda (#{x\ 3826}# - #{dots\ 3827}# - #{ys\ 3828}#) - (call-with-values - (lambda () - (#{cvt*\ 3793}# - #{ys\ 3828}# - #{n\ 3797}# - #{ids\ 3798}#)) - (lambda (#{ys\ 3830}# - #{ids\ 3831}#) - (call-with-values - (lambda () - (#{cvt\ 3795}# - #{x\ 3826}# - (1+ #{n\ 3797}#) - #{ids\ 3831}#)) - (lambda (#{x\ 3834}# - #{ids\ 3835}#) - (values - (list->vector - (cons 'each+ - (cons #{x\ 3834}# - (cons (reverse - #{ys\ 3830}#) - '(()))))) - #{ids\ 3835}#)))))) - #{tmp\ 3816}#) - (let ((#{tmp\ 3839}# - ($sc-dispatch - #{tmp\ 3802}# - '(any . any)))) - (if #{tmp\ 3839}# - (@apply - (lambda (#{x\ 3842}# #{y\ 3843}#) - (call-with-values - (lambda () - (#{cvt\ 3795}# - #{y\ 3843}# - #{n\ 3797}# - #{ids\ 3798}#)) - (lambda (#{y\ 3844}# - #{ids\ 3845}#) - (call-with-values - (lambda () - (#{cvt\ 3795}# - #{x\ 3842}# - #{n\ 3797}# - #{ids\ 3845}#)) - (lambda (#{x\ 3848}# - #{ids\ 3849}#) - (values - (cons #{x\ 3848}# - #{y\ 3844}#) - #{ids\ 3849}#)))))) - #{tmp\ 3839}#) - (let ((#{tmp\ 3852}# - ($sc-dispatch - #{tmp\ 3802}# - '()))) - (if #{tmp\ 3852}# - (@apply - (lambda () - (values - '() - #{ids\ 3798}#)) - #{tmp\ 3852}#) - (let ((#{tmp\ 3853}# - ($sc-dispatch - #{tmp\ 3802}# - '#(vector - each-any)))) - (if #{tmp\ 3853}# - (@apply - (lambda (#{x\ 3855}#) - (call-with-values - (lambda () - (#{cvt\ 3795}# - #{x\ 3855}# - #{n\ 3797}# - #{ids\ 3798}#)) - (lambda (#{p\ 3857}# - #{ids\ 3858}#) - (values - (vector - 'vector - #{p\ 3857}#) - #{ids\ 3858}#)))) - #{tmp\ 3853}#) - (let ((#{x\ 3862}# - #{tmp\ 3802}#)) - (values - (vector - 'atom - (#{strip\ 498}# - #{p\ 3796}# - '(()))) - #{ids\ 3798}#)))))))))))))))) - (#{cvt*\ 3793}# - (lambda (#{p*\ 3864}# #{n\ 3865}# #{ids\ 3866}#) - (if (null? #{p*\ 3864}#) - (values (quote ()) #{ids\ 3866}#) - (call-with-values - (lambda () - (#{cvt*\ 3793}# - (cdr #{p*\ 3864}#) - #{n\ 3865}# - #{ids\ 3866}#)) - (lambda (#{y\ 3870}# #{ids\ 3871}#) - (call-with-values - (lambda () - (#{cvt\ 3795}# - (car #{p*\ 3864}#) - #{n\ 3865}# - #{ids\ 3871}#)) - (lambda (#{x\ 3874}# #{ids\ 3875}#) - (values - (cons #{x\ 3874}# #{y\ 3870}#) - #{ids\ 3875}#))))))))) - (begin - (#{cvt\ 3795}# #{pattern\ 3788}# 0 (quote ()))))))) + (car #{clauses\ 3838}#)))))))))))) (begin (lambda (#{e\ 3878}# #{r\ 3879}# @@ -12934,318 +12944,318 @@ #{tail\ 3984}#))) #f)))) (letrec* - ((#{match\ 4001}# + ((#{match-each\ 3989}# (lambda (#{e\ 4002}# #{p\ 4003}# #{w\ 4004}# - #{r\ 4005}# - #{mod\ 4006}#) - (if (not #{r\ 4005}#) - #f - (if (eq? #{p\ 4003}# (quote any)) - (cons (#{wrap\ 456}# - #{e\ 4002}# - #{w\ 4004}# - #{mod\ 4006}#) - #{r\ 4005}#) + #{mod\ 4005}#) + (if (pair? #{e\ 4002}#) + (begin + (let ((#{first\ 4013}# + (#{match\ 4001}# + (car #{e\ 4002}#) + #{p\ 4003}# + #{w\ 4004}# + '() + #{mod\ 4005}#))) + (if #{first\ 4013}# + (begin + (let ((#{rest\ 4017}# + (#{match-each\ 3989}# + (cdr #{e\ 4002}#) + #{p\ 4003}# + #{w\ 4004}# + #{mod\ 4005}#))) + (if #{rest\ 4017}# + (cons #{first\ 4013}# #{rest\ 4017}#) + #f))) + #f))) + (if (null? #{e\ 4002}#) + '() (if (#{syntax-object?\ 351}# #{e\ 4002}#) - (#{match*\ 3999}# + (#{match-each\ 3989}# (#{syntax-object-expression\ 353}# #{e\ 4002}#) #{p\ 4003}# (#{join-wraps\ 438}# #{w\ 4004}# (#{syntax-object-wrap\ 355}# #{e\ 4002}#)) - #{r\ 4005}# (#{syntax-object-module\ 357}# #{e\ 4002}#)) - (#{match*\ 3999}# - #{e\ 4002}# - #{p\ 4003}# - #{w\ 4004}# - #{r\ 4005}# - #{mod\ 4006}#)))))) - (#{match*\ 3999}# - (lambda (#{e\ 4019}# - #{p\ 4020}# - #{w\ 4021}# - #{r\ 4022}# - #{mod\ 4023}#) - (if (null? #{p\ 4020}#) - (if (null? #{e\ 4019}#) #{r\ 4022}# #f) - (if (pair? #{p\ 4020}#) - (if (pair? #{e\ 4019}#) - (#{match\ 4001}# - (car #{e\ 4019}#) - (car #{p\ 4020}#) - #{w\ 4021}# - (#{match\ 4001}# - (cdr #{e\ 4019}#) - (cdr #{p\ 4020}#) - #{w\ 4021}# - #{r\ 4022}# - #{mod\ 4023}#) - #{mod\ 4023}#) - #f) - (if (eq? #{p\ 4020}# (quote each-any)) - (begin - (let ((#{l\ 4040}# - (#{match-each-any\ 3993}# - #{e\ 4019}# - #{w\ 4021}# - #{mod\ 4023}#))) - (if #{l\ 4040}# - (cons #{l\ 4040}# #{r\ 4022}#) - #f))) - (begin - (let ((#{atom-key\ 4046}# - (vector-ref #{p\ 4020}# 0))) - (if (eqv? #{atom-key\ 4046}# (quote each)) - (if (null? #{e\ 4019}#) - (#{match-empty\ 3995}# - (vector-ref #{p\ 4020}# 1) - #{r\ 4022}#) - (begin - (let ((#{l\ 4049}# - (#{match-each\ 3989}# - #{e\ 4019}# - (vector-ref #{p\ 4020}# 1) - #{w\ 4021}# - #{mod\ 4023}#))) - (if #{l\ 4049}# - (letrec* - ((#{collect\ 4054}# - (lambda (#{l\ 4055}#) - (if (null? (car #{l\ 4055}#)) - #{r\ 4022}# - (cons (map car #{l\ 4055}#) - (#{collect\ 4054}# - (map cdr - #{l\ 4055}#))))))) - (begin - (#{collect\ 4054}# #{l\ 4049}#))) - #f)))) - (if (eqv? #{atom-key\ 4046}# (quote each+)) - (call-with-values - (lambda () - (#{match-each+\ 3991}# - #{e\ 4019}# - (vector-ref #{p\ 4020}# 1) - (vector-ref #{p\ 4020}# 2) - (vector-ref #{p\ 4020}# 3) - #{w\ 4021}# - #{r\ 4022}# - #{mod\ 4023}#)) - (lambda (#{xr*\ 4057}# - #{y-pat\ 4058}# - #{r\ 4059}#) - (if #{r\ 4059}# - (if (null? #{y-pat\ 4058}#) - (if (null? #{xr*\ 4057}#) - (#{match-empty\ 3995}# - (vector-ref #{p\ 4020}# 1) - #{r\ 4059}#) - (#{combine\ 3997}# - #{xr*\ 4057}# - #{r\ 4059}#)) - #f) - #f))) - (if (eqv? #{atom-key\ 4046}# (quote free-id)) - (if (#{id?\ 387}# #{e\ 4019}#) - (if (#{free-id=?\ 446}# - (#{wrap\ 456}# - #{e\ 4019}# - #{w\ 4021}# - #{mod\ 4023}#) - (vector-ref #{p\ 4020}# 1)) - #{r\ 4022}# - #f) - #f) - (if (eqv? #{atom-key\ 4046}# (quote atom)) - (if (equal? - (vector-ref #{p\ 4020}# 1) - (#{strip\ 498}# - #{e\ 4019}# - #{w\ 4021}#)) - #{r\ 4022}# - #f) - (if (eqv? #{atom-key\ 4046}# - 'vector) - (if (vector? #{e\ 4019}#) - (#{match\ 4001}# - (vector->list #{e\ 4019}#) - (vector-ref #{p\ 4020}# 1) - #{w\ 4021}# - #{r\ 4022}# - #{mod\ 4023}#) - #f))))))))))))) - (#{combine\ 3997}# - (lambda (#{r*\ 4076}# #{r\ 4077}#) - (if (null? (car #{r*\ 4076}#)) - #{r\ 4077}# - (cons (map car #{r*\ 4076}#) - (#{combine\ 3997}# - (map cdr #{r*\ 4076}#) - #{r\ 4077}#))))) - (#{match-empty\ 3995}# - (lambda (#{p\ 4080}# #{r\ 4081}#) - (if (null? #{p\ 4080}#) - #{r\ 4081}# - (if (eq? #{p\ 4080}# (quote any)) - (cons (quote ()) #{r\ 4081}#) - (if (pair? #{p\ 4080}#) - (#{match-empty\ 3995}# - (car #{p\ 4080}#) - (#{match-empty\ 3995}# - (cdr #{p\ 4080}#) - #{r\ 4081}#)) - (if (eq? #{p\ 4080}# (quote each-any)) - (cons (quote ()) #{r\ 4081}#) - (begin - (let ((#{atom-key\ 4095}# - (vector-ref #{p\ 4080}# 0))) - (if (eqv? #{atom-key\ 4095}# (quote each)) - (#{match-empty\ 3995}# - (vector-ref #{p\ 4080}# 1) - #{r\ 4081}#) - (if (eqv? #{atom-key\ 4095}# (quote each+)) - (#{match-empty\ 3995}# - (vector-ref #{p\ 4080}# 1) - (#{match-empty\ 3995}# - (reverse (vector-ref #{p\ 4080}# 2)) - (#{match-empty\ 3995}# - (vector-ref #{p\ 4080}# 3) - #{r\ 4081}#))) - (if (if (eqv? #{atom-key\ 4095}# - 'free-id) - #t - (eqv? #{atom-key\ 4095}# - 'atom)) - #{r\ 4081}# - (if (eqv? #{atom-key\ 4095}# - 'vector) - (#{match-empty\ 3995}# - (vector-ref #{p\ 4080}# 1) - #{r\ 4081}#))))))))))))) - (#{match-each-any\ 3993}# - (lambda (#{e\ 4100}# #{w\ 4101}# #{mod\ 4102}#) - (if (pair? #{e\ 4100}#) - (begin - (let ((#{l\ 4109}# - (#{match-each-any\ 3993}# - (cdr #{e\ 4100}#) - #{w\ 4101}# - #{mod\ 4102}#))) - (if #{l\ 4109}# - (cons (#{wrap\ 456}# - (car #{e\ 4100}#) - #{w\ 4101}# - #{mod\ 4102}#) - #{l\ 4109}#) - #f))) - (if (null? #{e\ 4100}#) - '() - (if (#{syntax-object?\ 351}# #{e\ 4100}#) - (#{match-each-any\ 3993}# - (#{syntax-object-expression\ 353}# #{e\ 4100}#) - (#{join-wraps\ 438}# - #{w\ 4101}# - (#{syntax-object-wrap\ 355}# #{e\ 4100}#)) - #{mod\ 4102}#) #f))))) (#{match-each+\ 3991}# - (lambda (#{e\ 4117}# - #{x-pat\ 4118}# - #{y-pat\ 4119}# - #{z-pat\ 4120}# - #{w\ 4121}# - #{r\ 4122}# - #{mod\ 4123}#) + (lambda (#{e\ 4025}# + #{x-pat\ 4026}# + #{y-pat\ 4027}# + #{z-pat\ 4028}# + #{w\ 4029}# + #{r\ 4030}# + #{mod\ 4031}#) (letrec* - ((#{f\ 4134}# - (lambda (#{e\ 4135}# #{w\ 4136}#) - (if (pair? #{e\ 4135}#) + ((#{f\ 4042}# + (lambda (#{e\ 4043}# #{w\ 4044}#) + (if (pair? #{e\ 4043}#) (call-with-values (lambda () - (#{f\ 4134}# (cdr #{e\ 4135}#) #{w\ 4136}#)) - (lambda (#{xr*\ 4139}# - #{y-pat\ 4140}# - #{r\ 4141}#) - (if #{r\ 4141}# - (if (null? #{y-pat\ 4140}#) + (#{f\ 4042}# (cdr #{e\ 4043}#) #{w\ 4044}#)) + (lambda (#{xr*\ 4047}# + #{y-pat\ 4048}# + #{r\ 4049}#) + (if #{r\ 4049}# + (if (null? #{y-pat\ 4048}#) (begin - (let ((#{xr\ 4146}# + (let ((#{xr\ 4054}# (#{match\ 4001}# - (car #{e\ 4135}#) - #{x-pat\ 4118}# - #{w\ 4136}# + (car #{e\ 4043}#) + #{x-pat\ 4026}# + #{w\ 4044}# '() - #{mod\ 4123}#))) - (if #{xr\ 4146}# + #{mod\ 4031}#))) + (if #{xr\ 4054}# (values - (cons #{xr\ 4146}# #{xr*\ 4139}#) - #{y-pat\ 4140}# - #{r\ 4141}#) + (cons #{xr\ 4054}# #{xr*\ 4047}#) + #{y-pat\ 4048}# + #{r\ 4049}#) (values #f #f #f)))) (values '() - (cdr #{y-pat\ 4140}#) + (cdr #{y-pat\ 4048}#) (#{match\ 4001}# - (car #{e\ 4135}#) - (car #{y-pat\ 4140}#) - #{w\ 4136}# - #{r\ 4141}# - #{mod\ 4123}#))) + (car #{e\ 4043}#) + (car #{y-pat\ 4048}#) + #{w\ 4044}# + #{r\ 4049}# + #{mod\ 4031}#))) (values #f #f #f)))) - (if (#{syntax-object?\ 351}# #{e\ 4135}#) - (#{f\ 4134}# - (#{syntax-object-expression\ 353}# #{e\ 4135}#) - (#{join-wraps\ 438}# #{w\ 4136}# #{e\ 4135}#)) + (if (#{syntax-object?\ 351}# #{e\ 4043}#) + (#{f\ 4042}# + (#{syntax-object-expression\ 353}# #{e\ 4043}#) + (#{join-wraps\ 438}# #{w\ 4044}# #{e\ 4043}#)) (values '() - #{y-pat\ 4119}# + #{y-pat\ 4027}# (#{match\ 4001}# - #{e\ 4135}# - #{z-pat\ 4120}# - #{w\ 4136}# - #{r\ 4122}# - #{mod\ 4123}#))))))) - (begin (#{f\ 4134}# #{e\ 4117}# #{w\ 4121}#))))) - (#{match-each\ 3989}# - (lambda (#{e\ 4150}# - #{p\ 4151}# - #{w\ 4152}# - #{mod\ 4153}#) - (if (pair? #{e\ 4150}#) + #{e\ 4043}# + #{z-pat\ 4028}# + #{w\ 4044}# + #{r\ 4030}# + #{mod\ 4031}#))))))) + (begin (#{f\ 4042}# #{e\ 4025}# #{w\ 4029}#))))) + (#{match-each-any\ 3993}# + (lambda (#{e\ 4058}# #{w\ 4059}# #{mod\ 4060}#) + (if (pair? #{e\ 4058}#) (begin - (let ((#{first\ 4161}# - (#{match\ 4001}# - (car #{e\ 4150}#) - #{p\ 4151}# - #{w\ 4152}# - '() - #{mod\ 4153}#))) - (if #{first\ 4161}# - (begin - (let ((#{rest\ 4165}# - (#{match-each\ 3989}# - (cdr #{e\ 4150}#) - #{p\ 4151}# - #{w\ 4152}# - #{mod\ 4153}#))) - (if #{rest\ 4165}# - (cons #{first\ 4161}# #{rest\ 4165}#) - #f))) + (let ((#{l\ 4067}# + (#{match-each-any\ 3993}# + (cdr #{e\ 4058}#) + #{w\ 4059}# + #{mod\ 4060}#))) + (if #{l\ 4067}# + (cons (#{wrap\ 456}# + (car #{e\ 4058}#) + #{w\ 4059}# + #{mod\ 4060}#) + #{l\ 4067}#) #f))) - (if (null? #{e\ 4150}#) + (if (null? #{e\ 4058}#) '() - (if (#{syntax-object?\ 351}# #{e\ 4150}#) - (#{match-each\ 3989}# - (#{syntax-object-expression\ 353}# #{e\ 4150}#) - #{p\ 4151}# + (if (#{syntax-object?\ 351}# #{e\ 4058}#) + (#{match-each-any\ 3993}# + (#{syntax-object-expression\ 353}# #{e\ 4058}#) (#{join-wraps\ 438}# - #{w\ 4152}# - (#{syntax-object-wrap\ 355}# #{e\ 4150}#)) - (#{syntax-object-module\ 357}# #{e\ 4150}#)) - #f)))))) + #{w\ 4059}# + (#{syntax-object-wrap\ 355}# #{e\ 4058}#)) + #{mod\ 4060}#) + #f))))) + (#{match-empty\ 3995}# + (lambda (#{p\ 4075}# #{r\ 4076}#) + (if (null? #{p\ 4075}#) + #{r\ 4076}# + (if (eq? #{p\ 4075}# (quote any)) + (cons (quote ()) #{r\ 4076}#) + (if (pair? #{p\ 4075}#) + (#{match-empty\ 3995}# + (car #{p\ 4075}#) + (#{match-empty\ 3995}# + (cdr #{p\ 4075}#) + #{r\ 4076}#)) + (if (eq? #{p\ 4075}# (quote each-any)) + (cons (quote ()) #{r\ 4076}#) + (begin + (let ((#{atom-key\ 4090}# + (vector-ref #{p\ 4075}# 0))) + (if (eqv? #{atom-key\ 4090}# (quote each)) + (#{match-empty\ 3995}# + (vector-ref #{p\ 4075}# 1) + #{r\ 4076}#) + (if (eqv? #{atom-key\ 4090}# (quote each+)) + (#{match-empty\ 3995}# + (vector-ref #{p\ 4075}# 1) + (#{match-empty\ 3995}# + (reverse (vector-ref #{p\ 4075}# 2)) + (#{match-empty\ 3995}# + (vector-ref #{p\ 4075}# 3) + #{r\ 4076}#))) + (if (if (eqv? #{atom-key\ 4090}# + 'free-id) + #t + (eqv? #{atom-key\ 4090}# + 'atom)) + #{r\ 4076}# + (if (eqv? #{atom-key\ 4090}# + 'vector) + (#{match-empty\ 3995}# + (vector-ref #{p\ 4075}# 1) + #{r\ 4076}#))))))))))))) + (#{combine\ 3997}# + (lambda (#{r*\ 4095}# #{r\ 4096}#) + (if (null? (car #{r*\ 4095}#)) + #{r\ 4096}# + (cons (map car #{r*\ 4095}#) + (#{combine\ 3997}# + (map cdr #{r*\ 4095}#) + #{r\ 4096}#))))) + (#{match*\ 3999}# + (lambda (#{e\ 4099}# + #{p\ 4100}# + #{w\ 4101}# + #{r\ 4102}# + #{mod\ 4103}#) + (if (null? #{p\ 4100}#) + (if (null? #{e\ 4099}#) #{r\ 4102}# #f) + (if (pair? #{p\ 4100}#) + (if (pair? #{e\ 4099}#) + (#{match\ 4001}# + (car #{e\ 4099}#) + (car #{p\ 4100}#) + #{w\ 4101}# + (#{match\ 4001}# + (cdr #{e\ 4099}#) + (cdr #{p\ 4100}#) + #{w\ 4101}# + #{r\ 4102}# + #{mod\ 4103}#) + #{mod\ 4103}#) + #f) + (if (eq? #{p\ 4100}# (quote each-any)) + (begin + (let ((#{l\ 4120}# + (#{match-each-any\ 3993}# + #{e\ 4099}# + #{w\ 4101}# + #{mod\ 4103}#))) + (if #{l\ 4120}# + (cons #{l\ 4120}# #{r\ 4102}#) + #f))) + (begin + (let ((#{atom-key\ 4126}# + (vector-ref #{p\ 4100}# 0))) + (if (eqv? #{atom-key\ 4126}# (quote each)) + (if (null? #{e\ 4099}#) + (#{match-empty\ 3995}# + (vector-ref #{p\ 4100}# 1) + #{r\ 4102}#) + (begin + (let ((#{l\ 4129}# + (#{match-each\ 3989}# + #{e\ 4099}# + (vector-ref #{p\ 4100}# 1) + #{w\ 4101}# + #{mod\ 4103}#))) + (if #{l\ 4129}# + (letrec* + ((#{collect\ 4134}# + (lambda (#{l\ 4135}#) + (if (null? (car #{l\ 4135}#)) + #{r\ 4102}# + (cons (map car #{l\ 4135}#) + (#{collect\ 4134}# + (map cdr + #{l\ 4135}#))))))) + (begin + (#{collect\ 4134}# #{l\ 4129}#))) + #f)))) + (if (eqv? #{atom-key\ 4126}# (quote each+)) + (call-with-values + (lambda () + (#{match-each+\ 3991}# + #{e\ 4099}# + (vector-ref #{p\ 4100}# 1) + (vector-ref #{p\ 4100}# 2) + (vector-ref #{p\ 4100}# 3) + #{w\ 4101}# + #{r\ 4102}# + #{mod\ 4103}#)) + (lambda (#{xr*\ 4137}# + #{y-pat\ 4138}# + #{r\ 4139}#) + (if #{r\ 4139}# + (if (null? #{y-pat\ 4138}#) + (if (null? #{xr*\ 4137}#) + (#{match-empty\ 3995}# + (vector-ref #{p\ 4100}# 1) + #{r\ 4139}#) + (#{combine\ 3997}# + #{xr*\ 4137}# + #{r\ 4139}#)) + #f) + #f))) + (if (eqv? #{atom-key\ 4126}# (quote free-id)) + (if (#{id?\ 387}# #{e\ 4099}#) + (if (#{free-id=?\ 446}# + (#{wrap\ 456}# + #{e\ 4099}# + #{w\ 4101}# + #{mod\ 4103}#) + (vector-ref #{p\ 4100}# 1)) + #{r\ 4102}# + #f) + #f) + (if (eqv? #{atom-key\ 4126}# (quote atom)) + (if (equal? + (vector-ref #{p\ 4100}# 1) + (#{strip\ 498}# + #{e\ 4099}# + #{w\ 4101}#)) + #{r\ 4102}# + #f) + (if (eqv? #{atom-key\ 4126}# + 'vector) + (if (vector? #{e\ 4099}#) + (#{match\ 4001}# + (vector->list #{e\ 4099}#) + (vector-ref #{p\ 4100}# 1) + #{w\ 4101}# + #{r\ 4102}# + #{mod\ 4103}#) + #f))))))))))))) + (#{match\ 4001}# + (lambda (#{e\ 4156}# + #{p\ 4157}# + #{w\ 4158}# + #{r\ 4159}# + #{mod\ 4160}#) + (if (not #{r\ 4159}#) + #f + (if (eq? #{p\ 4157}# (quote any)) + (cons (#{wrap\ 456}# + #{e\ 4156}# + #{w\ 4158}# + #{mod\ 4160}#) + #{r\ 4159}#) + (if (#{syntax-object?\ 351}# #{e\ 4156}#) + (#{match*\ 3999}# + (#{syntax-object-expression\ 353}# #{e\ 4156}#) + #{p\ 4157}# + (#{join-wraps\ 438}# + #{w\ 4158}# + (#{syntax-object-wrap\ 355}# #{e\ 4156}#)) + #{r\ 4159}# + (#{syntax-object-module\ 357}# #{e\ 4156}#)) + (#{match*\ 3999}# + #{e\ 4156}# + #{p\ 4157}# + #{w\ 4158}# + #{r\ 4159}# + #{mod\ 4160}#))))))) (begin (set! $sc-dispatch (lambda (#{e\ 4173}# #{p\ 4174}#) diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm index 834547900..323f0c96d 100644 --- a/module/ice-9/psyntax.scm +++ b/module/ice-9/psyntax.scm @@ -23,7 +23,7 @@ ;;; Authors: R. Kent Dybvig, Oscar Waddell, Bob Hieb, Carl Bruggeman ;;; Modified by Andy Wingo according to the Git -;;; revision control logs corresponding to this file: 2009. +;;; revision control logs corresponding to this file: 2009, 2010. ;;; Modified by Mikael Djurfeldt according ;;; to the ChangeLog distributed in the same directory as this file: @@ -1484,11 +1484,11 @@ (loop (cdr bs) er-cache r-cache))))) (set-cdr! r (extend-env labels bindings (cdr r))) (build-letrec no-source #t - (map syntax->datum var-ids) - vars + (reverse (map syntax->datum var-ids)) + (reverse vars) (map (lambda (x) (chi (cdr x) (car x) empty-wrap mod)) - vals) + (reverse vals)) (build-sequence no-source (map (lambda (x) (chi (cdr x) (car x) empty-wrap mod)) diff --git a/test-suite/tests/syntax.test b/test-suite/tests/syntax.test index f347c2cec..035ebf865 100644 --- a/test-suite/tests/syntax.test +++ b/test-suite/tests/syntax.test @@ -45,6 +45,8 @@ '(syntax-error . "bad let ")) (define exception:bad-letrec '(syntax-error . "bad letrec ")) +(define exception:bad-letrec* + '(syntax-error . "bad letrec\\* ")) (define exception:bad-set! '(syntax-error . "bad set!")) (define exception:bad-quote @@ -463,6 +465,96 @@ (eval '(letrec ((x 1))) (interaction-environment))))) +(with-test-prefix "letrec*" + + (with-test-prefix "bindings" + + (pass-if-exception "initial bindings are undefined" + exception:used-before-defined + (begin + ;; FIXME: the memoizer does initialize the var to undefined, but + ;; the Scheme evaluator has no way of checking what's an + ;; undefined value. Not sure how to do this. + (throw 'unresolved) + (letrec* ((x y) (y 1)) y)))) + + (with-test-prefix "bad bindings" + + (pass-if-exception "(letrec*)" + exception:bad-letrec* + (eval '(letrec*) + (interaction-environment))) + + (pass-if-exception "(letrec* 1)" + exception:bad-letrec* + (eval '(letrec* 1) + (interaction-environment))) + + (pass-if-exception "(letrec* (x))" + exception:bad-letrec* + (eval '(letrec* (x)) + (interaction-environment))) + + (pass-if-exception "(letrec* (x) 1)" + exception:bad-letrec* + (eval '(letrec* (x) 1) + (interaction-environment))) + + (pass-if-exception "(letrec* ((x)) 3)" + exception:bad-letrec* + (eval '(letrec* ((x)) 3) + (interaction-environment))) + + (pass-if-exception "(letrec* ((x 1) y) x)" + exception:bad-letrec* + (eval '(letrec* ((x 1) y) x) + (interaction-environment))) + + (pass-if-exception "(letrec* x ())" + exception:bad-letrec* + (eval '(letrec* x ()) + (interaction-environment))) + + (pass-if-exception "(letrec* x (y))" + exception:bad-letrec* + (eval '(letrec* x (y)) + (interaction-environment))) + + (pass-if-exception "(letrec* ((1 2)) 3)" + exception:bad-letrec* + (eval '(letrec* ((1 2)) 3) + (interaction-environment)))) + + (with-test-prefix "duplicate bindings" + + (pass-if-exception "(letrec* ((x 1) (x 2)) x)" + exception:duplicate-binding + (eval '(letrec* ((x 1) (x 2)) x) + (interaction-environment)))) + + (with-test-prefix "bad body" + + (pass-if-exception "(letrec* ())" + exception:bad-letrec* + (eval '(letrec* ()) + (interaction-environment))) + + (pass-if-exception "(letrec* ((x 1)))" + exception:bad-letrec* + (eval '(letrec* ((x 1))) + (interaction-environment)))) + + (with-test-prefix "referencing previous values" + (pass-if (equal? (letrec ((a (cons 'foo 'bar)) + (b a)) + b) + '(foo . bar))) + (pass-if (equal? (let () + (define a (cons 'foo 'bar)) + (define b a) + b) + '(foo . bar))))) + (with-test-prefix "if" (with-test-prefix "missing or extra expressions"