diff --git a/doc/ref/api-procedures.texi b/doc/ref/api-procedures.texi index 972ce2e72..9609fefe6 100644 --- a/doc/ref/api-procedures.texi +++ b/doc/ref/api-procedures.texi @@ -594,25 +594,6 @@ A @code{case-lambda*} clause matches if the arguments fill the required arguments, but are not too many for the optional and/or rest arguments. -@code{case-lambda*} is particularly useful in combination with an -obscure @code{lambda*} feature, @code{#:predicate}. @code{lambda*} -argument lists may contain a @code{#:predicate @var{expr}} clause at -the end -- before the rest argument, if any. This expression is -evaluated in the context of all of the arguments, and if false, causes -the @code{case-lambda*} expression not to match. This can be used to -make a simple form of type dispatch: - -@lisp -(define type-of - (case-lambda* - ((a #:predicate (symbol? a)) 'symbol) - ((a #:predicate (string? a)) 'string) - ((a) 'unknown))) -(type-of 'foo) @result{} symbol -(type-of "foo") @result{} string -(type-of '(foo)) @result{} unknown -@end lisp - Keyword arguments are possible with @code{case-lambda*}, but they do not contribute to the ``matching'' behavior. That is to say, @code{case-lambda*} matches only on required, optional, and rest diff --git a/module/ice-9/optargs.scm b/module/ice-9/optargs.scm index 195bd1ec9..22dfa9fa2 100644 --- a/module/ice-9/optargs.scm +++ b/module/ice-9/optargs.scm @@ -110,7 +110,6 @@ (apply (lambda vars b0 b1 ...) (or (parse-lambda-case '(0 n n n+1 #f '()) (list t ...) - #f rest-arg) (error "sth" rest-arg))))))))))) @@ -127,7 +126,6 @@ #'(apply (lambda vars b0 b1 ...) (or (parse-lambda-case '(0 n n n+1 #f '()) (list (lambda vars i) ...) - #f rest-arg) (error "sth" rest-arg)))))))))) @@ -166,7 +164,6 @@ (apply (lambda vars b0 b1 ...) (or (parse-lambda-case '(0 0 #f n aok ((kw . idx) ...)) (list t ...) - #f rest-arg) (error "sth" rest-arg)))))))) ((_ rest-arg aok (binding ...) b0 b1 ...) @@ -188,7 +185,6 @@ #'(apply (lambda vars b0 b1 ...) (or (parse-lambda-case '(0 0 #f n aok ((kw . idx) ...)) (list (lambda vars i) ...) - #f rest-arg) (error "sth" rest-arg))))))) ((_ rest-arg aok (binding ...) b0 b1 ...) @@ -285,7 +281,7 @@ ;;; Support for optional & keyword args with the interpreter. (define *uninitialized* (list 'uninitialized)) -(define (parse-lambda-case spec inits predicate args) +(define (parse-lambda-case spec inits args) (pmatch spec ((,nreq ,nopt ,rest-idx ,nargs ,allow-other-keys? ,kw-indices) (define (req args prev tail n) @@ -325,12 +321,12 @@ ((pair? args-tail) #f) ;; fail (else - (pred slots)))) + slots))) (define (key slots slots-tail args-tail inits) (cond ((null? args-tail) (if (null? inits) - (pred slots) + slots (begin (if (eq? (car slots-tail) *uninitialized*) (set-car! slots-tail (apply (car inits) slots))) @@ -351,13 +347,6 @@ allow-other-keys?) (key slots slots-tail (cddr args-tail) inits)) (else (error "unrecognized keyword" args-tail)))) - (define (pred slots) - (cond - (predicate - (if (apply predicate slots) - slots - #f)) - (else slots))) (let ((args (list-copy args))) (req args #f args nreq))) (else (error "unexpected spec" spec)))) diff --git a/module/ice-9/psyntax-pp.scm b/module/ice-9/psyntax-pp.scm index a606187aa..ec655ac2c 100644 --- a/module/ice-9/psyntax-pp.scm +++ b/module/ice-9/psyntax-pp.scm @@ -123,383 +123,340 @@ #{mod\ 325}# #{get-formals\ 326}# #{clauses\ 327}#) - (letrec ((#{expand-body\ 332}# - (lambda (#{req\ 333}# - #{opt\ 334}# - #{rest\ 335}# - #{kw\ 336}# - #{pred\ 337}# - #{body\ 338}# - #{vars\ 339}# - #{r*\ 340}# - #{w*\ 341}# - #{inits\ 342}#) - ((lambda (#{tmp\ 343}#) - ((lambda (#{tmp\ 344}#) - (if (if #{tmp\ 344}# - (apply (lambda (#{docstring\ 345}# - #{e1\ 346}# - #{e2\ 347}#) + (letrec ((#{expand-body\ 331}# + (lambda (#{req\ 332}# + #{opt\ 333}# + #{rest\ 334}# + #{kw\ 335}# + #{body\ 336}# + #{vars\ 337}# + #{r*\ 338}# + #{w*\ 339}# + #{inits\ 340}#) + ((lambda (#{tmp\ 341}#) + ((lambda (#{tmp\ 342}#) + (if (if #{tmp\ 342}# + (apply (lambda (#{docstring\ 343}# + #{e1\ 344}# + #{e2\ 345}#) (string? (syntax->datum - #{docstring\ 345}#))) - #{tmp\ 344}#) + #{docstring\ 343}#))) + #{tmp\ 342}#) #f) - (apply (lambda (#{docstring\ 348}# - #{e1\ 349}# - #{e2\ 350}#) + (apply (lambda (#{docstring\ 346}# + #{e1\ 347}# + #{e2\ 348}#) (values (syntax->datum - #{docstring\ 348}#) - #{req\ 333}# - #{opt\ 334}# - #{rest\ 335}# - #{kw\ 336}# - #{inits\ 342}# - #{vars\ 339}# - #{pred\ 337}# + #{docstring\ 346}#) + #{req\ 332}# + #{opt\ 333}# + #{rest\ 334}# + #{kw\ 335}# + #{inits\ 340}# + #{vars\ 337}# (#{chi-body\ 171}# - (cons #{e1\ 349}# #{e2\ 350}#) + (cons #{e1\ 347}# #{e2\ 348}#) (#{source-wrap\ 160}# #{e\ 321}# #{w\ 323}# #{s\ 324}# #{mod\ 325}#) - #{r*\ 340}# - #{w*\ 341}# + #{r*\ 338}# + #{w*\ 339}# #{mod\ 325}#))) - #{tmp\ 344}#) - ((lambda (#{tmp\ 352}#) - (if #{tmp\ 352}# - (apply (lambda (#{e1\ 353}# - #{e2\ 354}#) + #{tmp\ 342}#) + ((lambda (#{tmp\ 350}#) + (if #{tmp\ 350}# + (apply (lambda (#{e1\ 351}# + #{e2\ 352}#) (values #f - #{req\ 333}# - #{opt\ 334}# - #{rest\ 335}# - #{kw\ 336}# - #{inits\ 342}# - #{vars\ 339}# - #{pred\ 337}# + #{req\ 332}# + #{opt\ 333}# + #{rest\ 334}# + #{kw\ 335}# + #{inits\ 340}# + #{vars\ 337}# (#{chi-body\ 171}# - (cons #{e1\ 353}# - #{e2\ 354}#) + (cons #{e1\ 351}# + #{e2\ 352}#) (#{source-wrap\ 160}# #{e\ 321}# #{w\ 323}# #{s\ 324}# #{mod\ 325}#) - #{r*\ 340}# - #{w*\ 341}# + #{r*\ 338}# + #{w*\ 339}# #{mod\ 325}#))) - #{tmp\ 352}#) + #{tmp\ 350}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 343}#))) + #{tmp\ 341}#))) ($sc-dispatch - #{tmp\ 343}# + #{tmp\ 341}# '(any . each-any))))) ($sc-dispatch - #{tmp\ 343}# + #{tmp\ 341}# '(any any . each-any)))) - #{body\ 338}#))) - (#{expand-pred\ 331}# - (lambda (#{req\ 356}# - #{opt\ 357}# - #{rest\ 358}# - #{kw\ 359}# - #{pred\ 360}# - #{body\ 361}# - #{vars\ 362}# - #{r*\ 363}# - #{w*\ 364}# - #{inits\ 365}#) - (#{expand-body\ 332}# - #{req\ 356}# - #{opt\ 357}# - #{rest\ 358}# - #{kw\ 359}# - (if #{pred\ 360}# - (#{chi\ 167}# - #{pred\ 360}# - #{r*\ 363}# - #{w*\ 364}# - #{mod\ 325}#) - #f) - #{body\ 361}# - #{vars\ 362}# - #{r*\ 363}# - #{w*\ 364}# - #{inits\ 365}#))) + #{body\ 336}#))) (#{expand-kw\ 330}# - (lambda (#{req\ 366}# - #{opt\ 367}# - #{rest\ 368}# - #{kw\ 369}# - #{pred\ 370}# - #{body\ 371}# - #{vars\ 372}# - #{r*\ 373}# - #{w*\ 374}# - #{aok\ 375}# - #{out\ 376}# - #{inits\ 377}#) - (if (pair? #{kw\ 369}#) - ((lambda (#{tmp\ 378}#) - ((lambda (#{tmp\ 379}#) - (if #{tmp\ 379}# - (apply (lambda (#{k\ 380}# - #{id\ 381}# - #{i\ 382}#) - (let ((#{v\ 383}# (#{gen-var\ 181}# - #{id\ 381}#))) - (let ((#{l\ 384}# (#{gen-labels\ 137}# - (list #{v\ 383}#)))) - (let ((#{r**\ 385}# + (lambda (#{req\ 354}# + #{opt\ 355}# + #{rest\ 356}# + #{kw\ 357}# + #{body\ 358}# + #{vars\ 359}# + #{r*\ 360}# + #{w*\ 361}# + #{aok\ 362}# + #{out\ 363}# + #{inits\ 364}#) + (if (pair? #{kw\ 357}#) + ((lambda (#{tmp\ 365}#) + ((lambda (#{tmp\ 366}#) + (if #{tmp\ 366}# + (apply (lambda (#{k\ 367}# + #{id\ 368}# + #{i\ 369}#) + (let ((#{v\ 370}# (#{gen-var\ 181}# + #{id\ 368}#))) + (let ((#{l\ 371}# (#{gen-labels\ 137}# + (list #{v\ 370}#)))) + (let ((#{r**\ 372}# (#{extend-var-env\ 126}# - #{l\ 384}# - (list #{v\ 383}#) - #{r*\ 373}#))) - (let ((#{w**\ 386}# + #{l\ 371}# + (list #{v\ 370}#) + #{r*\ 360}#))) + (let ((#{w**\ 373}# (#{make-binding-wrap\ 148}# - (list #{id\ 381}#) - #{l\ 384}# - #{w*\ 374}#))) + (list #{id\ 368}#) + #{l\ 371}# + #{w*\ 361}#))) (#{expand-kw\ 330}# - #{req\ 366}# - #{opt\ 367}# - #{rest\ 368}# - (cdr #{kw\ 369}#) - #{pred\ 370}# - #{body\ 371}# - (cons #{v\ 383}# - #{vars\ 372}#) - #{r**\ 385}# - #{w**\ 386}# - #{aok\ 375}# + #{req\ 354}# + #{opt\ 355}# + #{rest\ 356}# + (cdr #{kw\ 357}#) + #{body\ 358}# + (cons #{v\ 370}# + #{vars\ 359}#) + #{r**\ 372}# + #{w**\ 373}# + #{aok\ 362}# (cons (list (syntax->datum - #{k\ 380}#) + #{k\ 367}#) (syntax->datum - #{id\ 381}#) - #{v\ 383}#) - #{out\ 376}#) + #{id\ 368}#) + #{v\ 370}#) + #{out\ 363}#) (cons (#{chi\ 167}# - #{i\ 382}# - #{r*\ 373}# - #{w*\ 374}# + #{i\ 369}# + #{r*\ 360}# + #{w*\ 361}# #{mod\ 325}#) - #{inits\ 377}#))))))) - #{tmp\ 379}#) + #{inits\ 364}#))))))) + #{tmp\ 366}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 378}#))) + #{tmp\ 365}#))) ($sc-dispatch - #{tmp\ 378}# + #{tmp\ 365}# '(any any any)))) - (car #{kw\ 369}#)) - (#{expand-pred\ 331}# - #{req\ 366}# - #{opt\ 367}# - #{rest\ 368}# - (if (let ((#{t\ 387}# #{aok\ 375}#)) - (if #{t\ 387}# - #{t\ 387}# - (pair? #{out\ 376}#))) - (cons #{aok\ 375}# (reverse #{out\ 376}#)) + (car #{kw\ 357}#)) + (#{expand-body\ 331}# + #{req\ 354}# + #{opt\ 355}# + #{rest\ 356}# + (if (let ((#{t\ 374}# #{aok\ 362}#)) + (if #{t\ 374}# + #{t\ 374}# + (pair? #{out\ 363}#))) + (cons #{aok\ 362}# (reverse #{out\ 363}#)) #f) - #{pred\ 370}# - #{body\ 371}# - (reverse #{vars\ 372}#) - #{r*\ 373}# - #{w*\ 374}# - (reverse #{inits\ 377}#))))) + #{body\ 358}# + (reverse #{vars\ 359}#) + #{r*\ 360}# + #{w*\ 361}# + (reverse #{inits\ 364}#))))) (#{expand-opt\ 329}# - (lambda (#{req\ 388}# - #{opt\ 389}# - #{rest\ 390}# - #{kw\ 391}# - #{pred\ 392}# - #{body\ 393}# - #{vars\ 394}# - #{r*\ 395}# - #{w*\ 396}# - #{out\ 397}# - #{inits\ 398}#) - (if (pair? #{opt\ 389}#) - ((lambda (#{tmp\ 399}#) - ((lambda (#{tmp\ 400}#) - (if #{tmp\ 400}# - (apply (lambda (#{id\ 401}# #{i\ 402}#) - (let ((#{v\ 403}# (#{gen-var\ 181}# - #{id\ 401}#))) - (let ((#{l\ 404}# (#{gen-labels\ 137}# - (list #{v\ 403}#)))) - (let ((#{r**\ 405}# + (lambda (#{req\ 375}# + #{opt\ 376}# + #{rest\ 377}# + #{kw\ 378}# + #{body\ 379}# + #{vars\ 380}# + #{r*\ 381}# + #{w*\ 382}# + #{out\ 383}# + #{inits\ 384}#) + (if (pair? #{opt\ 376}#) + ((lambda (#{tmp\ 385}#) + ((lambda (#{tmp\ 386}#) + (if #{tmp\ 386}# + (apply (lambda (#{id\ 387}# #{i\ 388}#) + (let ((#{v\ 389}# (#{gen-var\ 181}# + #{id\ 387}#))) + (let ((#{l\ 390}# (#{gen-labels\ 137}# + (list #{v\ 389}#)))) + (let ((#{r**\ 391}# (#{extend-var-env\ 126}# - #{l\ 404}# - (list #{v\ 403}#) - #{r*\ 395}#))) - (let ((#{w**\ 406}# + #{l\ 390}# + (list #{v\ 389}#) + #{r*\ 381}#))) + (let ((#{w**\ 392}# (#{make-binding-wrap\ 148}# - (list #{id\ 401}#) - #{l\ 404}# - #{w*\ 396}#))) + (list #{id\ 387}#) + #{l\ 390}# + #{w*\ 382}#))) (#{expand-opt\ 329}# - #{req\ 388}# - (cdr #{opt\ 389}#) - #{rest\ 390}# - #{kw\ 391}# - #{pred\ 392}# - #{body\ 393}# - (cons #{v\ 403}# - #{vars\ 394}#) - #{r**\ 405}# - #{w**\ 406}# + #{req\ 375}# + (cdr #{opt\ 376}#) + #{rest\ 377}# + #{kw\ 378}# + #{body\ 379}# + (cons #{v\ 389}# + #{vars\ 380}#) + #{r**\ 391}# + #{w**\ 392}# (cons (syntax->datum - #{id\ 401}#) - #{out\ 397}#) + #{id\ 387}#) + #{out\ 383}#) (cons (#{chi\ 167}# - #{i\ 402}# - #{r*\ 395}# - #{w*\ 396}# + #{i\ 388}# + #{r*\ 381}# + #{w*\ 382}# #{mod\ 325}#) - #{inits\ 398}#))))))) - #{tmp\ 400}#) + #{inits\ 384}#))))))) + #{tmp\ 386}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 399}#))) + #{tmp\ 385}#))) ($sc-dispatch - #{tmp\ 399}# + #{tmp\ 385}# '(any any)))) - (car #{opt\ 389}#)) - (if #{rest\ 390}# - (let ((#{v\ 407}# (#{gen-var\ 181}# - #{rest\ 390}#))) - (let ((#{l\ 408}# (#{gen-labels\ 137}# - (list #{v\ 407}#)))) - (let ((#{r*\ 409}# + (car #{opt\ 376}#)) + (if #{rest\ 377}# + (let ((#{v\ 393}# (#{gen-var\ 181}# + #{rest\ 377}#))) + (let ((#{l\ 394}# (#{gen-labels\ 137}# + (list #{v\ 393}#)))) + (let ((#{r*\ 395}# (#{extend-var-env\ 126}# - #{l\ 408}# - (list #{v\ 407}#) - #{r*\ 395}#))) - (let ((#{w*\ 410}# + #{l\ 394}# + (list #{v\ 393}#) + #{r*\ 381}#))) + (let ((#{w*\ 396}# (#{make-binding-wrap\ 148}# - (list #{rest\ 390}#) - #{l\ 408}# - #{w*\ 396}#))) + (list #{rest\ 377}#) + #{l\ 394}# + #{w*\ 382}#))) (#{expand-kw\ 330}# - #{req\ 388}# - (if (pair? #{out\ 397}#) - (reverse #{out\ 397}#) + #{req\ 375}# + (if (pair? #{out\ 383}#) + (reverse #{out\ 383}#) #f) - (syntax->datum #{rest\ 390}#) - (if (pair? #{kw\ 391}#) - (cdr #{kw\ 391}#) - #{kw\ 391}#) - #{pred\ 392}# - #{body\ 393}# - (cons #{v\ 407}# #{vars\ 394}#) - #{r*\ 409}# - #{w*\ 410}# - (if (pair? #{kw\ 391}#) - (car #{kw\ 391}#) + (syntax->datum #{rest\ 377}#) + (if (pair? #{kw\ 378}#) + (cdr #{kw\ 378}#) + #{kw\ 378}#) + #{body\ 379}# + (cons #{v\ 393}# #{vars\ 380}#) + #{r*\ 395}# + #{w*\ 396}# + (if (pair? #{kw\ 378}#) + (car #{kw\ 378}#) #f) '() - #{inits\ 398}#))))) + #{inits\ 384}#))))) (#{expand-kw\ 330}# - #{req\ 388}# - (if (pair? #{out\ 397}#) - (reverse #{out\ 397}#) + #{req\ 375}# + (if (pair? #{out\ 383}#) + (reverse #{out\ 383}#) #f) #f - (if (pair? #{kw\ 391}#) - (cdr #{kw\ 391}#) - #{kw\ 391}#) - #{pred\ 392}# - #{body\ 393}# - #{vars\ 394}# - #{r*\ 395}# - #{w*\ 396}# - (if (pair? #{kw\ 391}#) (car #{kw\ 391}#) #f) + (if (pair? #{kw\ 378}#) + (cdr #{kw\ 378}#) + #{kw\ 378}#) + #{body\ 379}# + #{vars\ 380}# + #{r*\ 381}# + #{w*\ 382}# + (if (pair? #{kw\ 378}#) (car #{kw\ 378}#) #f) '() - #{inits\ 398}#))))) + #{inits\ 384}#))))) (#{expand-req\ 328}# - (lambda (#{req\ 411}# - #{opt\ 412}# - #{rest\ 413}# - #{kw\ 414}# - #{pred\ 415}# - #{body\ 416}#) - (let ((#{vars\ 417}# - (map #{gen-var\ 181}# #{req\ 411}#)) - (#{labels\ 418}# - (#{gen-labels\ 137}# #{req\ 411}#))) - (let ((#{r*\ 419}# + (lambda (#{req\ 397}# + #{opt\ 398}# + #{rest\ 399}# + #{kw\ 400}# + #{body\ 401}#) + (let ((#{vars\ 402}# + (map #{gen-var\ 181}# #{req\ 397}#)) + (#{labels\ 403}# + (#{gen-labels\ 137}# #{req\ 397}#))) + (let ((#{r*\ 404}# (#{extend-var-env\ 126}# - #{labels\ 418}# - #{vars\ 417}# + #{labels\ 403}# + #{vars\ 402}# #{r\ 322}#)) - (#{w*\ 420}# + (#{w*\ 405}# (#{make-binding-wrap\ 148}# - #{req\ 411}# - #{labels\ 418}# + #{req\ 397}# + #{labels\ 403}# #{w\ 323}#))) (#{expand-opt\ 329}# - (map syntax->datum #{req\ 411}#) - #{opt\ 412}# - #{rest\ 413}# - #{kw\ 414}# - #{pred\ 415}# - #{body\ 416}# - (reverse #{vars\ 417}#) - #{r*\ 419}# - #{w*\ 420}# + (map syntax->datum #{req\ 397}#) + #{opt\ 398}# + #{rest\ 399}# + #{kw\ 400}# + #{body\ 401}# + (reverse #{vars\ 402}#) + #{r*\ 404}# + #{w*\ 405}# '() '())))))) - ((lambda (#{tmp\ 421}#) - ((lambda (#{tmp\ 422}#) - (if #{tmp\ 422}# - (apply (lambda () (values #f #f)) #{tmp\ 422}#) - ((lambda (#{tmp\ 423}#) - (if #{tmp\ 423}# - (apply (lambda (#{args\ 424}# - #{e1\ 425}# - #{e2\ 426}# - #{args*\ 427}# - #{e1*\ 428}# - #{e2*\ 429}#) + ((lambda (#{tmp\ 406}#) + ((lambda (#{tmp\ 407}#) + (if #{tmp\ 407}# + (apply (lambda () (values #f #f)) #{tmp\ 407}#) + ((lambda (#{tmp\ 408}#) + (if #{tmp\ 408}# + (apply (lambda (#{args\ 409}# + #{e1\ 410}# + #{e2\ 411}# + #{args*\ 412}# + #{e1*\ 413}# + #{e2*\ 414}#) (call-with-values (lambda () (#{get-formals\ 326}# - #{args\ 424}#)) - (lambda (#{req\ 430}# - #{opt\ 431}# - #{rest\ 432}# - #{kw\ 433}# - #{pred\ 434}#) + #{args\ 409}#)) + (lambda (#{req\ 415}# + #{opt\ 416}# + #{rest\ 417}# + #{kw\ 418}#) (call-with-values (lambda () (#{expand-req\ 328}# - #{req\ 430}# - #{opt\ 431}# - #{rest\ 432}# - #{kw\ 433}# - #{pred\ 434}# - (cons #{e1\ 425}# - #{e2\ 426}#))) - (lambda (#{docstring\ 436}# - #{req\ 437}# - #{opt\ 438}# - #{rest\ 439}# - #{kw\ 440}# - #{inits\ 441}# - #{vars\ 442}# - #{pred\ 443}# - #{body\ 444}#) + #{req\ 415}# + #{opt\ 416}# + #{rest\ 417}# + #{kw\ 418}# + (cons #{e1\ 410}# + #{e2\ 411}#))) + (lambda (#{docstring\ 420}# + #{req\ 421}# + #{opt\ 422}# + #{rest\ 423}# + #{kw\ 424}# + #{inits\ 425}# + #{vars\ 426}# + #{body\ 427}#) (call-with-values (lambda () (#{chi-lambda-case\ 179}# @@ -509,205 +466,131 @@ #{s\ 324}# #{mod\ 325}# #{get-formals\ 326}# - (map (lambda (#{tmp\ 447}# - #{tmp\ 446}# - #{tmp\ 445}#) - (cons #{tmp\ 445}# - (cons #{tmp\ 446}# - #{tmp\ 447}#))) - #{e2*\ 429}# - #{e1*\ 428}# - #{args*\ 427}#))) - (lambda (#{docstring*\ 449}# - #{else*\ 450}#) + (map (lambda (#{tmp\ 430}# + #{tmp\ 429}# + #{tmp\ 428}#) + (cons #{tmp\ 428}# + (cons #{tmp\ 429}# + #{tmp\ 430}#))) + #{e2*\ 414}# + #{e1*\ 413}# + #{args*\ 412}#))) + (lambda (#{docstring*\ 432}# + #{else*\ 433}#) (values - (let ((#{t\ 451}# #{docstring\ 436}#)) - (if #{t\ 451}# - #{t\ 451}# - #{docstring*\ 449}#)) + (let ((#{t\ 434}# #{docstring\ 420}#)) + (if #{t\ 434}# + #{t\ 434}# + #{docstring*\ 432}#)) (#{build-lambda-case\ 107}# #{s\ 324}# - #{req\ 437}# - #{opt\ 438}# - #{rest\ 439}# - #{kw\ 440}# - #{inits\ 441}# - #{vars\ 442}# - #{pred\ 443}# - #{body\ 444}# - #{else*\ 450}#))))))))) - #{tmp\ 423}#) + #{req\ 421}# + #{opt\ 422}# + #{rest\ 423}# + #{kw\ 424}# + #{inits\ 425}# + #{vars\ 426}# + #{body\ 427}# + #{else*\ 433}#))))))))) + #{tmp\ 408}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 421}#))) + #{tmp\ 406}#))) ($sc-dispatch - #{tmp\ 421}# + #{tmp\ 406}# '((any any . each-any) . #(each (any any . each-any))))))) - ($sc-dispatch #{tmp\ 421}# (quote ())))) + ($sc-dispatch #{tmp\ 406}# (quote ())))) #{clauses\ 327}#)))) (#{lambda*-formals\ 178}# - (lambda (#{orig-args\ 452}#) - (letrec ((#{check\ 458}# - (lambda (#{req\ 459}# - #{opt\ 460}# - #{rest\ 461}# - #{kw\ 462}# - #{pred\ 463}#) + (lambda (#{orig-args\ 435}#) + (letrec ((#{check\ 440}# + (lambda (#{req\ 441}# + #{opt\ 442}# + #{rest\ 443}# + #{kw\ 444}#) (if (#{distinct-bound-ids?\ 157}# (append - #{req\ 459}# - (map car #{opt\ 460}#) - (if #{rest\ 461}# - (list #{rest\ 461}#) + #{req\ 441}# + (map car #{opt\ 442}#) + (if #{rest\ 443}# + (list #{rest\ 443}#) '()) - (if (pair? #{kw\ 462}#) - (map cadr (cdr #{kw\ 462}#)) + (if (pair? #{kw\ 444}#) + (map cadr (cdr #{kw\ 444}#)) '()))) (values - #{req\ 459}# - #{opt\ 460}# - #{rest\ 461}# - #{kw\ 462}# - #{pred\ 463}#) + #{req\ 441}# + #{opt\ 442}# + #{rest\ 443}# + #{kw\ 444}#) (syntax-violation 'lambda* "duplicate identifier in argument list" - #{orig-args\ 452}#)))) - (#{rest\ 457}# - (lambda (#{args\ 464}# - #{req\ 465}# - #{opt\ 466}# - #{kw\ 467}# - #{pred\ 468}#) - ((lambda (#{tmp\ 469}#) - ((lambda (#{tmp\ 470}#) - (if (if #{tmp\ 470}# - (apply (lambda (#{r\ 471}#) - (#{id?\ 131}# #{r\ 471}#)) - #{tmp\ 470}#) + #{orig-args\ 435}#)))) + (#{rest\ 439}# + (lambda (#{args\ 445}# + #{req\ 446}# + #{opt\ 447}# + #{kw\ 448}#) + ((lambda (#{tmp\ 449}#) + ((lambda (#{tmp\ 450}#) + (if (if #{tmp\ 450}# + (apply (lambda (#{r\ 451}#) + (#{id?\ 131}# #{r\ 451}#)) + #{tmp\ 450}#) #f) - (apply (lambda (#{r\ 472}#) - (#{check\ 458}# - #{req\ 465}# - #{opt\ 466}# - #{r\ 472}# - #{kw\ 467}# - #{pred\ 468}#)) - #{tmp\ 470}#) - ((lambda (#{else\ 473}#) + (apply (lambda (#{r\ 452}#) + (#{check\ 440}# + #{req\ 446}# + #{opt\ 447}# + #{r\ 452}# + #{kw\ 448}#)) + #{tmp\ 450}#) + ((lambda (#{else\ 453}#) (syntax-violation 'lambda* "invalid rest argument" - #{orig-args\ 452}# - #{args\ 464}#)) - #{tmp\ 469}#))) - (list #{tmp\ 469}#))) - #{args\ 464}#))) - (#{pred\ 456}# - (lambda (#{args\ 474}# - #{req\ 475}# - #{opt\ 476}# - #{kw\ 477}#) - ((lambda (#{tmp\ 478}#) - ((lambda (#{tmp\ 479}#) - (if #{tmp\ 479}# - (apply (lambda (#{x\ 480}#) - (#{check\ 458}# - #{req\ 475}# - #{opt\ 476}# - #f - #{kw\ 477}# - #{x\ 480}#)) - #{tmp\ 479}#) - ((lambda (#{tmp\ 481}#) - (if (if #{tmp\ 481}# - (apply (lambda (#{x\ 482}# - #{a\ 483}# - #{b\ 484}#) - (eq? (syntax->datum - #{a\ 483}#) - #:rest)) - #{tmp\ 481}#) - #f) - (apply (lambda (#{x\ 485}# - #{a\ 486}# - #{b\ 487}#) - (#{rest\ 457}# - #{b\ 487}# - #{req\ 475}# - #{opt\ 476}# - #{kw\ 477}# - #f)) - #{tmp\ 481}#) - ((lambda (#{tmp\ 488}#) - (if (if #{tmp\ 488}# - (apply (lambda (#{x\ 489}# - #{b\ 490}#) - (#{id?\ 131}# - #{b\ 490}#)) - #{tmp\ 488}#) - #f) - (apply (lambda (#{x\ 491}# - #{b\ 492}#) - (#{rest\ 457}# - #{b\ 492}# - #{req\ 475}# - #{opt\ 476}# - #{kw\ 477}# - #f)) - #{tmp\ 488}#) - ((lambda (#{else\ 493}#) - (syntax-violation - 'lambda* - "invalid argument list following #:predicate" - #{orig-args\ 452}# - #{args\ 474}#)) - #{tmp\ 478}#))) - ($sc-dispatch - #{tmp\ 478}# - '(any . any))))) - ($sc-dispatch - #{tmp\ 478}# - '(any any any))))) - ($sc-dispatch #{tmp\ 478}# (quote (any))))) - #{args\ 474}#))) - (#{key\ 455}# - (lambda (#{args\ 494}# - #{req\ 495}# - #{opt\ 496}# - #{rkey\ 497}#) - ((lambda (#{tmp\ 498}#) - ((lambda (#{tmp\ 499}#) - (if #{tmp\ 499}# + #{orig-args\ 435}# + #{args\ 445}#)) + #{tmp\ 449}#))) + (list #{tmp\ 449}#))) + #{args\ 445}#))) + (#{key\ 438}# + (lambda (#{args\ 454}# + #{req\ 455}# + #{opt\ 456}# + #{rkey\ 457}#) + ((lambda (#{tmp\ 458}#) + ((lambda (#{tmp\ 459}#) + (if #{tmp\ 459}# (apply (lambda () - (#{check\ 458}# - #{req\ 495}# - #{opt\ 496}# + (#{check\ 440}# + #{req\ 455}# + #{opt\ 456}# #f (cons #f - (reverse #{rkey\ 497}#)) - #f)) - #{tmp\ 499}#) - ((lambda (#{tmp\ 500}#) - (if (if #{tmp\ 500}# - (apply (lambda (#{a\ 501}# - #{b\ 502}#) + (reverse #{rkey\ 457}#)))) + #{tmp\ 459}#) + ((lambda (#{tmp\ 460}#) + (if (if #{tmp\ 460}# + (apply (lambda (#{a\ 461}# + #{b\ 462}#) (#{id?\ 131}# - #{a\ 501}#)) - #{tmp\ 500}#) + #{a\ 461}#)) + #{tmp\ 460}#) #f) - (apply (lambda (#{a\ 503}# #{b\ 504}#) - ((lambda (#{tmp\ 505}#) - ((lambda (#{k\ 506}#) - (#{key\ 455}# - #{b\ 504}# - #{req\ 495}# - #{opt\ 496}# - (cons (cons #{k\ 506}# - (cons #{a\ 503}# + (apply (lambda (#{a\ 463}# #{b\ 464}#) + ((lambda (#{tmp\ 465}#) + ((lambda (#{k\ 466}#) + (#{key\ 438}# + #{b\ 464}# + #{req\ 455}# + #{opt\ 456}# + (cons (cons #{k\ 466}# + (cons #{a\ 463}# '(#(syntax-object #f ((top) @@ -741,7 +624,6 @@ "i")) #(ribcage (check rest - pred key opt req) @@ -749,13 +631,11 @@ (top) (top) (top) - (top) (top)) ("i" "i" "i" "i" - "i" "i")) #(ribcage #(orig-args) @@ -1122,280 +1002,222 @@ "i"))) (hygiene guile))))) - #{rkey\ 497}#))) - #{tmp\ 505}#)) + #{rkey\ 457}#))) + #{tmp\ 465}#)) (symbol->keyword (syntax->datum - #{a\ 503}#)))) - #{tmp\ 500}#) - ((lambda (#{tmp\ 507}#) - (if (if #{tmp\ 507}# - (apply (lambda (#{a\ 508}# - #{init\ 509}# - #{b\ 510}#) + #{a\ 463}#)))) + #{tmp\ 460}#) + ((lambda (#{tmp\ 467}#) + (if (if #{tmp\ 467}# + (apply (lambda (#{a\ 468}# + #{init\ 469}# + #{b\ 470}#) (#{id?\ 131}# - #{a\ 508}#)) - #{tmp\ 507}#) + #{a\ 468}#)) + #{tmp\ 467}#) #f) - (apply (lambda (#{a\ 511}# - #{init\ 512}# - #{b\ 513}#) - ((lambda (#{tmp\ 514}#) - ((lambda (#{k\ 515}#) - (#{key\ 455}# - #{b\ 513}# - #{req\ 495}# - #{opt\ 496}# - (cons (list #{k\ 515}# - #{a\ 511}# - #{init\ 512}#) - #{rkey\ 497}#))) - #{tmp\ 514}#)) + (apply (lambda (#{a\ 471}# + #{init\ 472}# + #{b\ 473}#) + ((lambda (#{tmp\ 474}#) + ((lambda (#{k\ 475}#) + (#{key\ 438}# + #{b\ 473}# + #{req\ 455}# + #{opt\ 456}# + (cons (list #{k\ 475}# + #{a\ 471}# + #{init\ 472}#) + #{rkey\ 457}#))) + #{tmp\ 474}#)) (symbol->keyword (syntax->datum - #{a\ 511}#)))) - #{tmp\ 507}#) - ((lambda (#{tmp\ 516}#) - (if (if #{tmp\ 516}# - (apply (lambda (#{a\ 517}# - #{init\ 518}# - #{k\ 519}# - #{b\ 520}#) + #{a\ 471}#)))) + #{tmp\ 467}#) + ((lambda (#{tmp\ 476}#) + (if (if #{tmp\ 476}# + (apply (lambda (#{a\ 477}# + #{init\ 478}# + #{k\ 479}# + #{b\ 480}#) (if (#{id?\ 131}# - #{a\ 517}#) + #{a\ 477}#) (keyword? (syntax->datum - #{k\ 519}#)) + #{k\ 479}#)) #f)) - #{tmp\ 516}#) + #{tmp\ 476}#) #f) - (apply (lambda (#{a\ 521}# - #{init\ 522}# - #{k\ 523}# - #{b\ 524}#) - (#{key\ 455}# - #{b\ 524}# - #{req\ 495}# - #{opt\ 496}# - (cons (list #{k\ 523}# - #{a\ 521}# - #{init\ 522}#) - #{rkey\ 497}#))) - #{tmp\ 516}#) - ((lambda (#{tmp\ 525}#) - (if (if #{tmp\ 525}# - (apply (lambda (#{aok\ 526}#) + (apply (lambda (#{a\ 481}# + #{init\ 482}# + #{k\ 483}# + #{b\ 484}#) + (#{key\ 438}# + #{b\ 484}# + #{req\ 455}# + #{opt\ 456}# + (cons (list #{k\ 483}# + #{a\ 481}# + #{init\ 482}#) + #{rkey\ 457}#))) + #{tmp\ 476}#) + ((lambda (#{tmp\ 485}#) + (if (if #{tmp\ 485}# + (apply (lambda (#{aok\ 486}#) (eq? (syntax->datum - #{aok\ 526}#) + #{aok\ 486}#) #:allow-other-keys)) - #{tmp\ 525}#) + #{tmp\ 485}#) #f) - (apply (lambda (#{aok\ 527}#) - (#{check\ 458}# - #{req\ 495}# - #{opt\ 496}# + (apply (lambda (#{aok\ 487}#) + (#{check\ 440}# + #{req\ 455}# + #{opt\ 456}# #f (cons #t (reverse - #{rkey\ 497}#)) - #f)) - #{tmp\ 525}#) - ((lambda (#{tmp\ 528}#) - (if (if #{tmp\ 528}# - (apply (lambda (#{aok\ 529}# - #{a\ 530}# - #{b\ 531}#) + #{rkey\ 457}#)))) + #{tmp\ 485}#) + ((lambda (#{tmp\ 488}#) + (if (if #{tmp\ 488}# + (apply (lambda (#{aok\ 489}# + #{a\ 490}# + #{b\ 491}#) (if (eq? (syntax->datum - #{aok\ 529}#) + #{aok\ 489}#) #:allow-other-keys) (eq? (syntax->datum - #{a\ 530}#) - #:predicate) + #{a\ 490}#) + #:rest) #f)) - #{tmp\ 528}#) + #{tmp\ 488}#) #f) - (apply (lambda (#{aok\ 532}# - #{a\ 533}# - #{b\ 534}#) - (#{pred\ 456}# - #{b\ 534}# - #{req\ 495}# - #{opt\ 496}# + (apply (lambda (#{aok\ 492}# + #{a\ 493}# + #{b\ 494}#) + (#{rest\ 439}# + #{b\ 494}# + #{req\ 455}# + #{opt\ 456}# (cons #t (reverse - #{rkey\ 497}#)))) - #{tmp\ 528}#) - ((lambda (#{tmp\ 535}#) - (if (if #{tmp\ 535}# - (apply (lambda (#{aok\ 536}# - #{a\ 537}# - #{b\ 538}#) + #{rkey\ 457}#)))) + #{tmp\ 488}#) + ((lambda (#{tmp\ 495}#) + (if (if #{tmp\ 495}# + (apply (lambda (#{aok\ 496}# + #{r\ 497}#) (if (eq? (syntax->datum - #{aok\ 536}#) + #{aok\ 496}#) #:allow-other-keys) - (eq? (syntax->datum - #{a\ 537}#) - #:rest) + (#{id?\ 131}# + #{r\ 497}#) #f)) - #{tmp\ 535}#) + #{tmp\ 495}#) #f) - (apply (lambda (#{aok\ 539}# - #{a\ 540}# - #{b\ 541}#) - (#{rest\ 457}# - #{b\ 541}# - #{req\ 495}# - #{opt\ 496}# + (apply (lambda (#{aok\ 498}# + #{r\ 499}#) + (#{rest\ 439}# + #{r\ 499}# + #{req\ 455}# + #{opt\ 456}# (cons #t (reverse - #{rkey\ 497}#)) - #f)) - #{tmp\ 535}#) - ((lambda (#{tmp\ 542}#) - (if (if #{tmp\ 542}# - (apply (lambda (#{aok\ 543}# - #{r\ 544}#) - (if (eq? (syntax->datum - #{aok\ 543}#) - #:allow-other-keys) - (#{id?\ 131}# - #{r\ 544}#) - #f)) - #{tmp\ 542}#) + #{rkey\ 457}#)))) + #{tmp\ 495}#) + ((lambda (#{tmp\ 500}#) + (if (if #{tmp\ 500}# + (apply (lambda (#{a\ 501}# + #{b\ 502}#) + (eq? (syntax->datum + #{a\ 501}#) + #:rest)) + #{tmp\ 500}#) #f) - (apply (lambda (#{aok\ 545}# - #{r\ 546}#) - (#{rest\ 457}# - #{r\ 546}# - #{req\ 495}# - #{opt\ 496}# - (cons #t + (apply (lambda (#{a\ 503}# + #{b\ 504}#) + (#{rest\ 439}# + #{b\ 504}# + #{req\ 455}# + #{opt\ 456}# + (cons #f (reverse - #{rkey\ 497}#)) - #f)) - #{tmp\ 542}#) - ((lambda (#{tmp\ 547}#) - (if (if #{tmp\ 547}# - (apply (lambda (#{a\ 548}# - #{b\ 549}#) - (eq? (syntax->datum - #{a\ 548}#) - #:predicate)) - #{tmp\ 547}#) + #{rkey\ 457}#)))) + #{tmp\ 500}#) + ((lambda (#{tmp\ 505}#) + (if (if #{tmp\ 505}# + (apply (lambda (#{r\ 506}#) + (#{id?\ 131}# + #{r\ 506}#)) + #{tmp\ 505}#) #f) - (apply (lambda (#{a\ 550}# - #{b\ 551}#) - (#{pred\ 456}# - #{b\ 551}# - #{req\ 495}# - #{opt\ 496}# + (apply (lambda (#{r\ 507}#) + (#{rest\ 439}# + #{r\ 507}# + #{req\ 455}# + #{opt\ 456}# (cons #f (reverse - #{rkey\ 497}#)))) - #{tmp\ 547}#) - ((lambda (#{tmp\ 552}#) - (if (if #{tmp\ 552}# - (apply (lambda (#{a\ 553}# - #{b\ 554}#) - (eq? (syntax->datum - #{a\ 553}#) - #:rest)) - #{tmp\ 552}#) - #f) - (apply (lambda (#{a\ 555}# - #{b\ 556}#) - (#{rest\ 457}# - #{b\ 556}# - #{req\ 495}# - #{opt\ 496}# - (cons #f - (reverse - #{rkey\ 497}#)) - #f)) - #{tmp\ 552}#) - ((lambda (#{tmp\ 557}#) - (if (if #{tmp\ 557}# - (apply (lambda (#{r\ 558}#) - (#{id?\ 131}# - #{r\ 558}#)) - #{tmp\ 557}#) - #f) - (apply (lambda (#{r\ 559}#) - (#{rest\ 457}# - #{r\ 559}# - #{req\ 495}# - #{opt\ 496}# - (cons #f - (reverse - #{rkey\ 497}#)) - #f)) - #{tmp\ 557}#) - ((lambda (#{else\ 560}#) - (syntax-violation - 'lambda* - "invalid keyword argument list" - #{orig-args\ 452}# - #{args\ 494}#)) - #{tmp\ 498}#))) - (list #{tmp\ 498}#)))) - ($sc-dispatch - #{tmp\ 498}# - '(any any))))) - ($sc-dispatch - #{tmp\ 498}# - '(any . - any))))) + #{rkey\ 457}#)))) + #{tmp\ 505}#) + ((lambda (#{else\ 508}#) + (syntax-violation + 'lambda* + "invalid keyword argument list" + #{orig-args\ 435}# + #{args\ 454}#)) + #{tmp\ 458}#))) + (list #{tmp\ 458}#)))) ($sc-dispatch - #{tmp\ 498}# - '(any . - any))))) + #{tmp\ 458}# + '(any any))))) ($sc-dispatch - #{tmp\ 498}# - '(any any + #{tmp\ 458}# + '(any . any))))) ($sc-dispatch - #{tmp\ 498}# - '(any any . any))))) + #{tmp\ 458}# + '(any any any))))) ($sc-dispatch - #{tmp\ 498}# + #{tmp\ 458}# '(any))))) ($sc-dispatch - #{tmp\ 498}# + #{tmp\ 458}# '((any any any) . any))))) ($sc-dispatch - #{tmp\ 498}# + #{tmp\ 458}# '((any any) . any))))) ($sc-dispatch - #{tmp\ 498}# + #{tmp\ 458}# '(any . any))))) - ($sc-dispatch #{tmp\ 498}# (quote ())))) - #{args\ 494}#))) - (#{opt\ 454}# - (lambda (#{args\ 561}# #{req\ 562}# #{ropt\ 563}#) - ((lambda (#{tmp\ 564}#) - ((lambda (#{tmp\ 565}#) - (if #{tmp\ 565}# + ($sc-dispatch #{tmp\ 458}# (quote ())))) + #{args\ 454}#))) + (#{opt\ 437}# + (lambda (#{args\ 509}# #{req\ 510}# #{ropt\ 511}#) + ((lambda (#{tmp\ 512}#) + ((lambda (#{tmp\ 513}#) + (if #{tmp\ 513}# (apply (lambda () - (#{check\ 458}# - #{req\ 562}# - (reverse #{ropt\ 563}#) + (#{check\ 440}# + #{req\ 510}# + (reverse #{ropt\ 511}#) #f - '() - #f)) - #{tmp\ 565}#) - ((lambda (#{tmp\ 566}#) - (if (if #{tmp\ 566}# - (apply (lambda (#{a\ 567}# - #{b\ 568}#) + '())) + #{tmp\ 513}#) + ((lambda (#{tmp\ 514}#) + (if (if #{tmp\ 514}# + (apply (lambda (#{a\ 515}# + #{b\ 516}#) (#{id?\ 131}# - #{a\ 567}#)) - #{tmp\ 566}#) + #{a\ 515}#)) + #{tmp\ 514}#) #f) - (apply (lambda (#{a\ 569}# #{b\ 570}#) - (#{opt\ 454}# - #{b\ 570}# - #{req\ 562}# - (cons (cons #{a\ 569}# + (apply (lambda (#{a\ 517}# #{b\ 518}#) + (#{opt\ 437}# + #{b\ 518}# + #{req\ 510}# + (cons (cons #{a\ 517}# '(#(syntax-object #f ((top) @@ -1421,7 +1243,6 @@ "i")) #(ribcage (check rest - pred key opt req) @@ -1429,13 +1250,11 @@ (top) (top) (top) - (top) (top)) ("i" "i" "i" "i" - "i" "i")) #(ribcage #(orig-args) @@ -1802,375 +1621,328 @@ "i"))) (hygiene guile)))) - #{ropt\ 563}#))) - #{tmp\ 566}#) - ((lambda (#{tmp\ 571}#) - (if (if #{tmp\ 571}# - (apply (lambda (#{a\ 572}# - #{init\ 573}# - #{b\ 574}#) + #{ropt\ 511}#))) + #{tmp\ 514}#) + ((lambda (#{tmp\ 519}#) + (if (if #{tmp\ 519}# + (apply (lambda (#{a\ 520}# + #{init\ 521}# + #{b\ 522}#) (#{id?\ 131}# - #{a\ 572}#)) - #{tmp\ 571}#) + #{a\ 520}#)) + #{tmp\ 519}#) #f) - (apply (lambda (#{a\ 575}# - #{init\ 576}# - #{b\ 577}#) - (#{opt\ 454}# - #{b\ 577}# - #{req\ 562}# - (cons (list #{a\ 575}# - #{init\ 576}#) - #{ropt\ 563}#))) - #{tmp\ 571}#) - ((lambda (#{tmp\ 578}#) - (if (if #{tmp\ 578}# - (apply (lambda (#{a\ 579}# - #{b\ 580}#) + (apply (lambda (#{a\ 523}# + #{init\ 524}# + #{b\ 525}#) + (#{opt\ 437}# + #{b\ 525}# + #{req\ 510}# + (cons (list #{a\ 523}# + #{init\ 524}#) + #{ropt\ 511}#))) + #{tmp\ 519}#) + ((lambda (#{tmp\ 526}#) + (if (if #{tmp\ 526}# + (apply (lambda (#{a\ 527}# + #{b\ 528}#) (eq? (syntax->datum - #{a\ 579}#) + #{a\ 527}#) #:key)) - #{tmp\ 578}#) + #{tmp\ 526}#) #f) - (apply (lambda (#{a\ 581}# - #{b\ 582}#) - (#{key\ 455}# - #{b\ 582}# - #{req\ 562}# + (apply (lambda (#{a\ 529}# + #{b\ 530}#) + (#{key\ 438}# + #{b\ 530}# + #{req\ 510}# (reverse - #{ropt\ 563}#) + #{ropt\ 511}#) '())) - #{tmp\ 578}#) - ((lambda (#{tmp\ 583}#) - (if (if #{tmp\ 583}# - (apply (lambda (#{a\ 584}# - #{b\ 585}#) + #{tmp\ 526}#) + ((lambda (#{tmp\ 531}#) + (if (if #{tmp\ 531}# + (apply (lambda (#{a\ 532}# + #{b\ 533}#) (eq? (syntax->datum - #{a\ 584}#) - #:predicate)) - #{tmp\ 583}#) + #{a\ 532}#) + #:rest)) + #{tmp\ 531}#) #f) - (apply (lambda (#{a\ 586}# - #{b\ 587}#) - (#{pred\ 456}# - #{b\ 587}# - #{req\ 562}# + (apply (lambda (#{a\ 534}# + #{b\ 535}#) + (#{rest\ 439}# + #{b\ 535}# + #{req\ 510}# (reverse - #{ropt\ 563}#) + #{ropt\ 511}#) '())) - #{tmp\ 583}#) - ((lambda (#{tmp\ 588}#) - (if (if #{tmp\ 588}# - (apply (lambda (#{a\ 589}# - #{b\ 590}#) - (eq? (syntax->datum - #{a\ 589}#) - #:rest)) - #{tmp\ 588}#) + #{tmp\ 531}#) + ((lambda (#{tmp\ 536}#) + (if (if #{tmp\ 536}# + (apply (lambda (#{r\ 537}#) + (#{id?\ 131}# + #{r\ 537}#)) + #{tmp\ 536}#) #f) - (apply (lambda (#{a\ 591}# - #{b\ 592}#) - (#{rest\ 457}# - #{b\ 592}# - #{req\ 562}# + (apply (lambda (#{r\ 538}#) + (#{rest\ 439}# + #{r\ 538}# + #{req\ 510}# (reverse - #{ropt\ 563}#) - '() - #f)) - #{tmp\ 588}#) - ((lambda (#{tmp\ 593}#) - (if (if #{tmp\ 593}# - (apply (lambda (#{r\ 594}#) - (#{id?\ 131}# - #{r\ 594}#)) - #{tmp\ 593}#) - #f) - (apply (lambda (#{r\ 595}#) - (#{rest\ 457}# - #{r\ 595}# - #{req\ 562}# - (reverse - #{ropt\ 563}#) - '() - #f)) - #{tmp\ 593}#) - ((lambda (#{else\ 596}#) - (syntax-violation - 'lambda* - "invalid optional argument list" - #{orig-args\ 452}# - #{args\ 561}#)) - #{tmp\ 564}#))) - (list #{tmp\ 564}#)))) - ($sc-dispatch - #{tmp\ 564}# - '(any any))))) + #{ropt\ 511}#) + '())) + #{tmp\ 536}#) + ((lambda (#{else\ 539}#) + (syntax-violation + 'lambda* + "invalid optional argument list" + #{orig-args\ 435}# + #{args\ 509}#)) + #{tmp\ 512}#))) + (list #{tmp\ 512}#)))) ($sc-dispatch - #{tmp\ 564}# - '(any . any))))) + #{tmp\ 512}# + '(any any))))) ($sc-dispatch - #{tmp\ 564}# + #{tmp\ 512}# '(any . any))))) ($sc-dispatch - #{tmp\ 564}# + #{tmp\ 512}# '((any any) . any))))) ($sc-dispatch - #{tmp\ 564}# + #{tmp\ 512}# '(any . any))))) - ($sc-dispatch #{tmp\ 564}# (quote ())))) - #{args\ 561}#))) - (#{req\ 453}# - (lambda (#{args\ 597}# #{rreq\ 598}#) - ((lambda (#{tmp\ 599}#) - ((lambda (#{tmp\ 600}#) - (if #{tmp\ 600}# + ($sc-dispatch #{tmp\ 512}# (quote ())))) + #{args\ 509}#))) + (#{req\ 436}# + (lambda (#{args\ 540}# #{rreq\ 541}#) + ((lambda (#{tmp\ 542}#) + ((lambda (#{tmp\ 543}#) + (if #{tmp\ 543}# (apply (lambda () - (#{check\ 458}# - (reverse #{rreq\ 598}#) + (#{check\ 440}# + (reverse #{rreq\ 541}#) '() #f - '() - #f)) - #{tmp\ 600}#) - ((lambda (#{tmp\ 601}#) - (if (if #{tmp\ 601}# - (apply (lambda (#{a\ 602}# - #{b\ 603}#) + '())) + #{tmp\ 543}#) + ((lambda (#{tmp\ 544}#) + (if (if #{tmp\ 544}# + (apply (lambda (#{a\ 545}# + #{b\ 546}#) (#{id?\ 131}# - #{a\ 602}#)) - #{tmp\ 601}#) + #{a\ 545}#)) + #{tmp\ 544}#) #f) - (apply (lambda (#{a\ 604}# #{b\ 605}#) - (#{req\ 453}# - #{b\ 605}# - (cons #{a\ 604}# - #{rreq\ 598}#))) - #{tmp\ 601}#) - ((lambda (#{tmp\ 606}#) - (if (if #{tmp\ 606}# - (apply (lambda (#{a\ 607}# - #{b\ 608}#) + (apply (lambda (#{a\ 547}# #{b\ 548}#) + (#{req\ 436}# + #{b\ 548}# + (cons #{a\ 547}# + #{rreq\ 541}#))) + #{tmp\ 544}#) + ((lambda (#{tmp\ 549}#) + (if (if #{tmp\ 549}# + (apply (lambda (#{a\ 550}# + #{b\ 551}#) (eq? (syntax->datum - #{a\ 607}#) + #{a\ 550}#) #:optional)) - #{tmp\ 606}#) + #{tmp\ 549}#) #f) - (apply (lambda (#{a\ 609}# - #{b\ 610}#) - (#{opt\ 454}# - #{b\ 610}# + (apply (lambda (#{a\ 552}# + #{b\ 553}#) + (#{opt\ 437}# + #{b\ 553}# (reverse - #{rreq\ 598}#) + #{rreq\ 541}#) '())) - #{tmp\ 606}#) - ((lambda (#{tmp\ 611}#) - (if (if #{tmp\ 611}# - (apply (lambda (#{a\ 612}# - #{b\ 613}#) + #{tmp\ 549}#) + ((lambda (#{tmp\ 554}#) + (if (if #{tmp\ 554}# + (apply (lambda (#{a\ 555}# + #{b\ 556}#) (eq? (syntax->datum - #{a\ 612}#) + #{a\ 555}#) #:key)) - #{tmp\ 611}#) + #{tmp\ 554}#) #f) - (apply (lambda (#{a\ 614}# - #{b\ 615}#) - (#{key\ 455}# - #{b\ 615}# + (apply (lambda (#{a\ 557}# + #{b\ 558}#) + (#{key\ 438}# + #{b\ 558}# (reverse - #{rreq\ 598}#) + #{rreq\ 541}#) '() '())) - #{tmp\ 611}#) - ((lambda (#{tmp\ 616}#) - (if (if #{tmp\ 616}# - (apply (lambda (#{a\ 617}# - #{b\ 618}#) + #{tmp\ 554}#) + ((lambda (#{tmp\ 559}#) + (if (if #{tmp\ 559}# + (apply (lambda (#{a\ 560}# + #{b\ 561}#) (eq? (syntax->datum - #{a\ 617}#) - #:predicate)) - #{tmp\ 616}#) + #{a\ 560}#) + #:rest)) + #{tmp\ 559}#) #f) - (apply (lambda (#{a\ 619}# - #{b\ 620}#) - (#{pred\ 456}# - #{b\ 620}# + (apply (lambda (#{a\ 562}# + #{b\ 563}#) + (#{rest\ 439}# + #{b\ 563}# (reverse - #{rreq\ 598}#) + #{rreq\ 541}#) '() '())) - #{tmp\ 616}#) - ((lambda (#{tmp\ 621}#) - (if (if #{tmp\ 621}# - (apply (lambda (#{a\ 622}# - #{b\ 623}#) - (eq? (syntax->datum - #{a\ 622}#) - #:rest)) - #{tmp\ 621}#) + #{tmp\ 559}#) + ((lambda (#{tmp\ 564}#) + (if (if #{tmp\ 564}# + (apply (lambda (#{r\ 565}#) + (#{id?\ 131}# + #{r\ 565}#)) + #{tmp\ 564}#) #f) - (apply (lambda (#{a\ 624}# - #{b\ 625}#) - (#{rest\ 457}# - #{b\ 625}# + (apply (lambda (#{r\ 566}#) + (#{rest\ 439}# + #{r\ 566}# (reverse - #{rreq\ 598}#) + #{rreq\ 541}#) '() - '() - #f)) - #{tmp\ 621}#) - ((lambda (#{tmp\ 626}#) - (if (if #{tmp\ 626}# - (apply (lambda (#{r\ 627}#) - (#{id?\ 131}# - #{r\ 627}#)) - #{tmp\ 626}#) - #f) - (apply (lambda (#{r\ 628}#) - (#{rest\ 457}# - #{r\ 628}# - (reverse - #{rreq\ 598}#) - '() - '() - #f)) - #{tmp\ 626}#) - ((lambda (#{else\ 629}#) - (syntax-violation - 'lambda* - "invalid argument list" - #{orig-args\ 452}# - #{args\ 597}#)) - #{tmp\ 599}#))) - (list #{tmp\ 599}#)))) - ($sc-dispatch - #{tmp\ 599}# - '(any any))))) + '())) + #{tmp\ 564}#) + ((lambda (#{else\ 567}#) + (syntax-violation + 'lambda* + "invalid argument list" + #{orig-args\ 435}# + #{args\ 540}#)) + #{tmp\ 542}#))) + (list #{tmp\ 542}#)))) ($sc-dispatch - #{tmp\ 599}# - '(any . any))))) + #{tmp\ 542}# + '(any any))))) ($sc-dispatch - #{tmp\ 599}# + #{tmp\ 542}# '(any . any))))) ($sc-dispatch - #{tmp\ 599}# + #{tmp\ 542}# '(any . any))))) ($sc-dispatch - #{tmp\ 599}# + #{tmp\ 542}# '(any . any))))) - ($sc-dispatch #{tmp\ 599}# (quote ())))) - #{args\ 597}#)))) - (#{req\ 453}# #{orig-args\ 452}# (quote ()))))) + ($sc-dispatch #{tmp\ 542}# (quote ())))) + #{args\ 540}#)))) + (#{req\ 436}# #{orig-args\ 435}# (quote ()))))) (#{chi-simple-lambda\ 177}# - (lambda (#{e\ 630}# - #{r\ 631}# - #{w\ 632}# - #{s\ 633}# - #{mod\ 634}# - #{req\ 635}# - #{rest\ 636}# - #{docstring\ 637}# - #{body\ 638}#) - (let ((#{ids\ 639}# - (if #{rest\ 636}# - (append #{req\ 635}# (list #{rest\ 636}#)) - #{req\ 635}#))) - (let ((#{vars\ 640}# - (map #{gen-var\ 181}# #{ids\ 639}#))) - (let ((#{labels\ 641}# - (#{gen-labels\ 137}# #{ids\ 639}#))) + (lambda (#{e\ 568}# + #{r\ 569}# + #{w\ 570}# + #{s\ 571}# + #{mod\ 572}# + #{req\ 573}# + #{rest\ 574}# + #{docstring\ 575}# + #{body\ 576}#) + (let ((#{ids\ 577}# + (if #{rest\ 574}# + (append #{req\ 573}# (list #{rest\ 574}#)) + #{req\ 573}#))) + (let ((#{vars\ 578}# + (map #{gen-var\ 181}# #{ids\ 577}#))) + (let ((#{labels\ 579}# + (#{gen-labels\ 137}# #{ids\ 577}#))) (#{build-simple-lambda\ 105}# - #{s\ 633}# - (map syntax->datum #{req\ 635}#) - (if #{rest\ 636}# - (syntax->datum #{rest\ 636}#) + #{s\ 571}# + (map syntax->datum #{req\ 573}#) + (if #{rest\ 574}# + (syntax->datum #{rest\ 574}#) #f) - #{vars\ 640}# - #{docstring\ 637}# + #{vars\ 578}# + #{docstring\ 575}# (#{chi-body\ 171}# - #{body\ 638}# + #{body\ 576}# (#{source-wrap\ 160}# - #{e\ 630}# - #{w\ 632}# - #{s\ 633}# - #{mod\ 634}#) + #{e\ 568}# + #{w\ 570}# + #{s\ 571}# + #{mod\ 572}#) (#{extend-var-env\ 126}# - #{labels\ 641}# - #{vars\ 640}# - #{r\ 631}#) + #{labels\ 579}# + #{vars\ 578}# + #{r\ 569}#) (#{make-binding-wrap\ 148}# - #{ids\ 639}# - #{labels\ 641}# - #{w\ 632}#) - #{mod\ 634}#))))))) + #{ids\ 577}# + #{labels\ 579}# + #{w\ 570}#) + #{mod\ 572}#))))))) (#{lambda-formals\ 176}# - (lambda (#{orig-args\ 642}#) - (letrec ((#{check\ 644}# - (lambda (#{req\ 645}# #{rest\ 646}#) + (lambda (#{orig-args\ 580}#) + (letrec ((#{check\ 582}# + (lambda (#{req\ 583}# #{rest\ 584}#) (if (#{distinct-bound-ids?\ 157}# - (if #{rest\ 646}# - (cons #{rest\ 646}# #{req\ 645}#) - #{req\ 645}#)) - (values #{req\ 645}# #f #{rest\ 646}# #f #f) + (if #{rest\ 584}# + (cons #{rest\ 584}# #{req\ 583}#) + #{req\ 583}#)) + (values #{req\ 583}# #f #{rest\ 584}# #f) (syntax-violation 'lambda "duplicate identifier in argument list" - #{orig-args\ 642}#)))) - (#{req\ 643}# - (lambda (#{args\ 647}# #{rreq\ 648}#) - ((lambda (#{tmp\ 649}#) - ((lambda (#{tmp\ 650}#) - (if #{tmp\ 650}# + #{orig-args\ 580}#)))) + (#{req\ 581}# + (lambda (#{args\ 585}# #{rreq\ 586}#) + ((lambda (#{tmp\ 587}#) + ((lambda (#{tmp\ 588}#) + (if #{tmp\ 588}# (apply (lambda () - (#{check\ 644}# - (reverse #{rreq\ 648}#) + (#{check\ 582}# + (reverse #{rreq\ 586}#) #f)) - #{tmp\ 650}#) - ((lambda (#{tmp\ 651}#) - (if (if #{tmp\ 651}# - (apply (lambda (#{a\ 652}# - #{b\ 653}#) + #{tmp\ 588}#) + ((lambda (#{tmp\ 589}#) + (if (if #{tmp\ 589}# + (apply (lambda (#{a\ 590}# + #{b\ 591}#) (#{id?\ 131}# - #{a\ 652}#)) - #{tmp\ 651}#) + #{a\ 590}#)) + #{tmp\ 589}#) #f) - (apply (lambda (#{a\ 654}# #{b\ 655}#) - (#{req\ 643}# - #{b\ 655}# - (cons #{a\ 654}# - #{rreq\ 648}#))) - #{tmp\ 651}#) - ((lambda (#{tmp\ 656}#) - (if (if #{tmp\ 656}# - (apply (lambda (#{r\ 657}#) + (apply (lambda (#{a\ 592}# #{b\ 593}#) + (#{req\ 581}# + #{b\ 593}# + (cons #{a\ 592}# + #{rreq\ 586}#))) + #{tmp\ 589}#) + ((lambda (#{tmp\ 594}#) + (if (if #{tmp\ 594}# + (apply (lambda (#{r\ 595}#) (#{id?\ 131}# - #{r\ 657}#)) - #{tmp\ 656}#) + #{r\ 595}#)) + #{tmp\ 594}#) #f) - (apply (lambda (#{r\ 658}#) - (#{check\ 644}# + (apply (lambda (#{r\ 596}#) + (#{check\ 582}# (reverse - #{rreq\ 648}#) - #{r\ 658}#)) - #{tmp\ 656}#) - ((lambda (#{else\ 659}#) + #{rreq\ 586}#) + #{r\ 596}#)) + #{tmp\ 594}#) + ((lambda (#{else\ 597}#) (syntax-violation 'lambda "invalid argument list" - #{orig-args\ 642}# - #{args\ 647}#)) - #{tmp\ 649}#))) - (list #{tmp\ 649}#)))) + #{orig-args\ 580}# + #{args\ 585}#)) + #{tmp\ 587}#))) + (list #{tmp\ 587}#)))) ($sc-dispatch - #{tmp\ 649}# + #{tmp\ 587}# '(any . any))))) - ($sc-dispatch #{tmp\ 649}# (quote ())))) - #{args\ 647}#)))) - (#{req\ 643}# #{orig-args\ 642}# (quote ()))))) + ($sc-dispatch #{tmp\ 587}# (quote ())))) + #{args\ 585}#)))) + (#{req\ 581}# #{orig-args\ 580}# (quote ()))))) (#{ellipsis?\ 175}# - (lambda (#{x\ 660}#) - (if (#{nonsymbol-id?\ 130}# #{x\ 660}#) + (lambda (#{x\ 598}#) + (if (#{nonsymbol-id?\ 130}# #{x\ 598}#) (#{free-id=?\ 154}# - #{x\ 660}# + #{x\ 598}# '#(syntax-object ... ((top) @@ -2538,368 +2310,368 @@ (#{chi-void\ 174}# (lambda () (#{build-void\ 95}# #f))) (#{eval-local-transformer\ 173}# - (lambda (#{expanded\ 661}# #{mod\ 662}#) - (let ((#{p\ 663}# (#{local-eval-hook\ 91}# - #{expanded\ 661}# - #{mod\ 662}#))) - (if (procedure? #{p\ 663}#) - #{p\ 663}# + (lambda (#{expanded\ 599}# #{mod\ 600}#) + (let ((#{p\ 601}# (#{local-eval-hook\ 91}# + #{expanded\ 599}# + #{mod\ 600}#))) + (if (procedure? #{p\ 601}#) + #{p\ 601}# (syntax-violation #f "nonprocedure transformer" - #{p\ 663}#))))) + #{p\ 601}#))))) (#{chi-local-syntax\ 172}# - (lambda (#{rec?\ 664}# - #{e\ 665}# - #{r\ 666}# - #{w\ 667}# - #{s\ 668}# - #{mod\ 669}# - #{k\ 670}#) - ((lambda (#{tmp\ 671}#) - ((lambda (#{tmp\ 672}#) - (if #{tmp\ 672}# - (apply (lambda (#{_\ 673}# - #{id\ 674}# - #{val\ 675}# - #{e1\ 676}# - #{e2\ 677}#) - (let ((#{ids\ 678}# #{id\ 674}#)) + (lambda (#{rec?\ 602}# + #{e\ 603}# + #{r\ 604}# + #{w\ 605}# + #{s\ 606}# + #{mod\ 607}# + #{k\ 608}#) + ((lambda (#{tmp\ 609}#) + ((lambda (#{tmp\ 610}#) + (if #{tmp\ 610}# + (apply (lambda (#{_\ 611}# + #{id\ 612}# + #{val\ 613}# + #{e1\ 614}# + #{e2\ 615}#) + (let ((#{ids\ 616}# #{id\ 612}#)) (if (not (#{valid-bound-ids?\ 156}# - #{ids\ 678}#)) + #{ids\ 616}#)) (syntax-violation #f "duplicate bound keyword" - #{e\ 665}#) - (let ((#{labels\ 680}# + #{e\ 603}#) + (let ((#{labels\ 618}# (#{gen-labels\ 137}# - #{ids\ 678}#))) - (let ((#{new-w\ 681}# + #{ids\ 616}#))) + (let ((#{new-w\ 619}# (#{make-binding-wrap\ 148}# - #{ids\ 678}# - #{labels\ 680}# - #{w\ 667}#))) - (#{k\ 670}# (cons #{e1\ 676}# - #{e2\ 677}#) + #{ids\ 616}# + #{labels\ 618}# + #{w\ 605}#))) + (#{k\ 608}# (cons #{e1\ 614}# + #{e2\ 615}#) (#{extend-env\ 125}# - #{labels\ 680}# - (let ((#{w\ 683}# (if #{rec?\ 664}# - #{new-w\ 681}# - #{w\ 667}#)) - (#{trans-r\ 684}# + #{labels\ 618}# + (let ((#{w\ 621}# (if #{rec?\ 602}# + #{new-w\ 619}# + #{w\ 605}#)) + (#{trans-r\ 622}# (#{macros-only-env\ 127}# - #{r\ 666}#))) - (map (lambda (#{x\ 685}#) + #{r\ 604}#))) + (map (lambda (#{x\ 623}#) (cons 'macro (#{eval-local-transformer\ 173}# (#{chi\ 167}# - #{x\ 685}# - #{trans-r\ 684}# - #{w\ 683}# - #{mod\ 669}#) - #{mod\ 669}#))) - #{val\ 675}#)) - #{r\ 666}#) - #{new-w\ 681}# - #{s\ 668}# - #{mod\ 669}#)))))) - #{tmp\ 672}#) - ((lambda (#{_\ 687}#) + #{x\ 623}# + #{trans-r\ 622}# + #{w\ 621}# + #{mod\ 607}#) + #{mod\ 607}#))) + #{val\ 613}#)) + #{r\ 604}#) + #{new-w\ 619}# + #{s\ 606}# + #{mod\ 607}#)))))) + #{tmp\ 610}#) + ((lambda (#{_\ 625}#) (syntax-violation #f "bad local syntax definition" (#{source-wrap\ 160}# - #{e\ 665}# - #{w\ 667}# - #{s\ 668}# - #{mod\ 669}#))) - #{tmp\ 671}#))) + #{e\ 603}# + #{w\ 605}# + #{s\ 606}# + #{mod\ 607}#))) + #{tmp\ 609}#))) ($sc-dispatch - #{tmp\ 671}# + #{tmp\ 609}# '(any #(each (any any)) any . each-any)))) - #{e\ 665}#))) + #{e\ 603}#))) (#{chi-body\ 171}# - (lambda (#{body\ 688}# - #{outer-form\ 689}# - #{r\ 690}# - #{w\ 691}# - #{mod\ 692}#) - (let ((#{r\ 693}# (cons '("placeholder" placeholder) - #{r\ 690}#))) - (let ((#{ribcage\ 694}# + (lambda (#{body\ 626}# + #{outer-form\ 627}# + #{r\ 628}# + #{w\ 629}# + #{mod\ 630}#) + (let ((#{r\ 631}# (cons '("placeholder" placeholder) + #{r\ 628}#))) + (let ((#{ribcage\ 632}# (#{make-ribcage\ 138}# '() '() '()))) - (let ((#{w\ 695}# (#{make-wrap\ 133}# - (#{wrap-marks\ 134}# #{w\ 691}#) - (cons #{ribcage\ 694}# + (let ((#{w\ 633}# (#{make-wrap\ 133}# + (#{wrap-marks\ 134}# #{w\ 629}#) + (cons #{ribcage\ 632}# (#{wrap-subst\ 135}# - #{w\ 691}#))))) - (letrec ((#{parse\ 696}# - (lambda (#{body\ 697}# - #{ids\ 698}# - #{labels\ 699}# - #{var-ids\ 700}# - #{vars\ 701}# - #{vals\ 702}# - #{bindings\ 703}#) - (if (null? #{body\ 697}#) + #{w\ 629}#))))) + (letrec ((#{parse\ 634}# + (lambda (#{body\ 635}# + #{ids\ 636}# + #{labels\ 637}# + #{var-ids\ 638}# + #{vars\ 639}# + #{vals\ 640}# + #{bindings\ 641}#) + (if (null? #{body\ 635}#) (syntax-violation #f "no expressions in body" - #{outer-form\ 689}#) - (let ((#{e\ 705}# (cdar #{body\ 697}#)) - (#{er\ 706}# (caar #{body\ 697}#))) + #{outer-form\ 627}#) + (let ((#{e\ 643}# (cdar #{body\ 635}#)) + (#{er\ 644}# (caar #{body\ 635}#))) (call-with-values (lambda () (#{syntax-type\ 165}# - #{e\ 705}# - #{er\ 706}# + #{e\ 643}# + #{er\ 644}# '(()) (#{source-annotation\ 122}# - #{er\ 706}#) - #{ribcage\ 694}# - #{mod\ 692}# + #{er\ 644}#) + #{ribcage\ 632}# + #{mod\ 630}# #f)) - (lambda (#{type\ 707}# - #{value\ 708}# - #{e\ 709}# - #{w\ 710}# - #{s\ 711}# - #{mod\ 712}#) - (if (memv #{type\ 707}# + (lambda (#{type\ 645}# + #{value\ 646}# + #{e\ 647}# + #{w\ 648}# + #{s\ 649}# + #{mod\ 650}#) + (if (memv #{type\ 645}# '(define-form)) - (let ((#{id\ 713}# + (let ((#{id\ 651}# (#{wrap\ 159}# - #{value\ 708}# - #{w\ 710}# - #{mod\ 712}#)) - (#{label\ 714}# + #{value\ 646}# + #{w\ 648}# + #{mod\ 650}#)) + (#{label\ 652}# (#{gen-label\ 136}#))) - (let ((#{var\ 715}# + (let ((#{var\ 653}# (#{gen-var\ 181}# - #{id\ 713}#))) + #{id\ 651}#))) (begin (#{extend-ribcage!\ 147}# - #{ribcage\ 694}# - #{id\ 713}# - #{label\ 714}#) - (#{parse\ 696}# - (cdr #{body\ 697}#) - (cons #{id\ 713}# - #{ids\ 698}#) - (cons #{label\ 714}# - #{labels\ 699}#) - (cons #{id\ 713}# - #{var-ids\ 700}#) - (cons #{var\ 715}# - #{vars\ 701}#) - (cons (cons #{er\ 706}# + #{ribcage\ 632}# + #{id\ 651}# + #{label\ 652}#) + (#{parse\ 634}# + (cdr #{body\ 635}#) + (cons #{id\ 651}# + #{ids\ 636}#) + (cons #{label\ 652}# + #{labels\ 637}#) + (cons #{id\ 651}# + #{var-ids\ 638}#) + (cons #{var\ 653}# + #{vars\ 639}#) + (cons (cons #{er\ 644}# (#{wrap\ 159}# - #{e\ 709}# - #{w\ 710}# - #{mod\ 712}#)) - #{vals\ 702}#) + #{e\ 647}# + #{w\ 648}# + #{mod\ 650}#)) + #{vals\ 640}#) (cons (cons 'lexical - #{var\ 715}#) - #{bindings\ 703}#))))) - (if (memv #{type\ 707}# + #{var\ 653}#) + #{bindings\ 641}#))))) + (if (memv #{type\ 645}# '(define-syntax-form)) - (let ((#{id\ 716}# + (let ((#{id\ 654}# (#{wrap\ 159}# - #{value\ 708}# - #{w\ 710}# - #{mod\ 712}#)) - (#{label\ 717}# + #{value\ 646}# + #{w\ 648}# + #{mod\ 650}#)) + (#{label\ 655}# (#{gen-label\ 136}#))) (begin (#{extend-ribcage!\ 147}# - #{ribcage\ 694}# - #{id\ 716}# - #{label\ 717}#) - (#{parse\ 696}# - (cdr #{body\ 697}#) - (cons #{id\ 716}# - #{ids\ 698}#) - (cons #{label\ 717}# - #{labels\ 699}#) - #{var-ids\ 700}# - #{vars\ 701}# - #{vals\ 702}# + #{ribcage\ 632}# + #{id\ 654}# + #{label\ 655}#) + (#{parse\ 634}# + (cdr #{body\ 635}#) + (cons #{id\ 654}# + #{ids\ 636}#) + (cons #{label\ 655}# + #{labels\ 637}#) + #{var-ids\ 638}# + #{vars\ 639}# + #{vals\ 640}# (cons (cons 'macro - (cons #{er\ 706}# + (cons #{er\ 644}# (#{wrap\ 159}# - #{e\ 709}# - #{w\ 710}# - #{mod\ 712}#))) - #{bindings\ 703}#)))) - (if (memv #{type\ 707}# + #{e\ 647}# + #{w\ 648}# + #{mod\ 650}#))) + #{bindings\ 641}#)))) + (if (memv #{type\ 645}# '(begin-form)) - ((lambda (#{tmp\ 718}#) - ((lambda (#{tmp\ 719}#) - (if #{tmp\ 719}# - (apply (lambda (#{_\ 720}# - #{e1\ 721}#) - (#{parse\ 696}# - (letrec ((#{f\ 722}# (lambda (#{forms\ 723}#) - (if (null? #{forms\ 723}#) - (cdr #{body\ 697}#) - (cons (cons #{er\ 706}# + ((lambda (#{tmp\ 656}#) + ((lambda (#{tmp\ 657}#) + (if #{tmp\ 657}# + (apply (lambda (#{_\ 658}# + #{e1\ 659}#) + (#{parse\ 634}# + (letrec ((#{f\ 660}# (lambda (#{forms\ 661}#) + (if (null? #{forms\ 661}#) + (cdr #{body\ 635}#) + (cons (cons #{er\ 644}# (#{wrap\ 159}# - (car #{forms\ 723}#) - #{w\ 710}# - #{mod\ 712}#)) - (#{f\ 722}# (cdr #{forms\ 723}#))))))) - (#{f\ 722}# #{e1\ 721}#)) - #{ids\ 698}# - #{labels\ 699}# - #{var-ids\ 700}# - #{vars\ 701}# - #{vals\ 702}# - #{bindings\ 703}#)) - #{tmp\ 719}#) + (car #{forms\ 661}#) + #{w\ 648}# + #{mod\ 650}#)) + (#{f\ 660}# (cdr #{forms\ 661}#))))))) + (#{f\ 660}# #{e1\ 659}#)) + #{ids\ 636}# + #{labels\ 637}# + #{var-ids\ 638}# + #{vars\ 639}# + #{vals\ 640}# + #{bindings\ 641}#)) + #{tmp\ 657}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 718}#))) + #{tmp\ 656}#))) ($sc-dispatch - #{tmp\ 718}# + #{tmp\ 656}# '(any . each-any)))) - #{e\ 709}#) - (if (memv #{type\ 707}# + #{e\ 647}#) + (if (memv #{type\ 645}# '(local-syntax-form)) (#{chi-local-syntax\ 172}# - #{value\ 708}# - #{e\ 709}# - #{er\ 706}# - #{w\ 710}# - #{s\ 711}# - #{mod\ 712}# - (lambda (#{forms\ 725}# - #{er\ 726}# - #{w\ 727}# - #{s\ 728}# - #{mod\ 729}#) - (#{parse\ 696}# - (letrec ((#{f\ 730}# (lambda (#{forms\ 731}#) - (if (null? #{forms\ 731}#) - (cdr #{body\ 697}#) - (cons (cons #{er\ 726}# + #{value\ 646}# + #{e\ 647}# + #{er\ 644}# + #{w\ 648}# + #{s\ 649}# + #{mod\ 650}# + (lambda (#{forms\ 663}# + #{er\ 664}# + #{w\ 665}# + #{s\ 666}# + #{mod\ 667}#) + (#{parse\ 634}# + (letrec ((#{f\ 668}# (lambda (#{forms\ 669}#) + (if (null? #{forms\ 669}#) + (cdr #{body\ 635}#) + (cons (cons #{er\ 664}# (#{wrap\ 159}# - (car #{forms\ 731}#) - #{w\ 727}# - #{mod\ 729}#)) - (#{f\ 730}# (cdr #{forms\ 731}#))))))) - (#{f\ 730}# #{forms\ 725}#)) - #{ids\ 698}# - #{labels\ 699}# - #{var-ids\ 700}# - #{vars\ 701}# - #{vals\ 702}# - #{bindings\ 703}#))) - (if (null? #{ids\ 698}#) + (car #{forms\ 669}#) + #{w\ 665}# + #{mod\ 667}#)) + (#{f\ 668}# (cdr #{forms\ 669}#))))))) + (#{f\ 668}# #{forms\ 663}#)) + #{ids\ 636}# + #{labels\ 637}# + #{var-ids\ 638}# + #{vars\ 639}# + #{vals\ 640}# + #{bindings\ 641}#))) + (if (null? #{ids\ 636}#) (#{build-sequence\ 110}# #f - (map (lambda (#{x\ 732}#) + (map (lambda (#{x\ 670}#) (#{chi\ 167}# - (cdr #{x\ 732}#) - (car #{x\ 732}#) + (cdr #{x\ 670}#) + (car #{x\ 670}#) '(()) - #{mod\ 712}#)) - (cons (cons #{er\ 706}# + #{mod\ 650}#)) + (cons (cons #{er\ 644}# (#{source-wrap\ 160}# - #{e\ 709}# - #{w\ 710}# - #{s\ 711}# - #{mod\ 712}#)) - (cdr #{body\ 697}#)))) + #{e\ 647}# + #{w\ 648}# + #{s\ 649}# + #{mod\ 650}#)) + (cdr #{body\ 635}#)))) (begin (if (not (#{valid-bound-ids?\ 156}# - #{ids\ 698}#)) + #{ids\ 636}#)) (syntax-violation #f "invalid or duplicate identifier in definition" - #{outer-form\ 689}#)) - (letrec ((#{loop\ 733}# - (lambda (#{bs\ 734}# - #{er-cache\ 735}# - #{r-cache\ 736}#) - (if (not (null? #{bs\ 734}#)) - (let ((#{b\ 737}# (car #{bs\ 734}#))) - (if (eq? (car #{b\ 737}#) + #{outer-form\ 627}#)) + (letrec ((#{loop\ 671}# + (lambda (#{bs\ 672}# + #{er-cache\ 673}# + #{r-cache\ 674}#) + (if (not (null? #{bs\ 672}#)) + (let ((#{b\ 675}# (car #{bs\ 672}#))) + (if (eq? (car #{b\ 675}#) 'macro) - (let ((#{er\ 738}# - (cadr #{b\ 737}#))) - (let ((#{r-cache\ 739}# - (if (eq? #{er\ 738}# - #{er-cache\ 735}#) - #{r-cache\ 736}# + (let ((#{er\ 676}# + (cadr #{b\ 675}#))) + (let ((#{r-cache\ 677}# + (if (eq? #{er\ 676}# + #{er-cache\ 673}#) + #{r-cache\ 674}# (#{macros-only-env\ 127}# - #{er\ 738}#)))) + #{er\ 676}#)))) (begin (set-cdr! - #{b\ 737}# + #{b\ 675}# (#{eval-local-transformer\ 173}# (#{chi\ 167}# - (cddr #{b\ 737}#) - #{r-cache\ 739}# + (cddr #{b\ 675}#) + #{r-cache\ 677}# '(()) - #{mod\ 712}#) - #{mod\ 712}#)) - (#{loop\ 733}# - (cdr #{bs\ 734}#) - #{er\ 738}# - #{r-cache\ 739}#)))) - (#{loop\ 733}# - (cdr #{bs\ 734}#) - #{er-cache\ 735}# - #{r-cache\ 736}#))))))) - (#{loop\ 733}# - #{bindings\ 703}# + #{mod\ 650}#) + #{mod\ 650}#)) + (#{loop\ 671}# + (cdr #{bs\ 672}#) + #{er\ 676}# + #{r-cache\ 677}#)))) + (#{loop\ 671}# + (cdr #{bs\ 672}#) + #{er-cache\ 673}# + #{r-cache\ 674}#))))))) + (#{loop\ 671}# + #{bindings\ 641}# #f #f)) (set-cdr! - #{r\ 693}# + #{r\ 631}# (#{extend-env\ 125}# - #{labels\ 699}# - #{bindings\ 703}# - (cdr #{r\ 693}#))) + #{labels\ 637}# + #{bindings\ 641}# + (cdr #{r\ 631}#))) (#{build-letrec\ 113}# #f (map syntax->datum - #{var-ids\ 700}#) - #{vars\ 701}# - (map (lambda (#{x\ 740}#) + #{var-ids\ 638}#) + #{vars\ 639}# + (map (lambda (#{x\ 678}#) (#{chi\ 167}# - (cdr #{x\ 740}#) - (car #{x\ 740}#) + (cdr #{x\ 678}#) + (car #{x\ 678}#) '(()) - #{mod\ 712}#)) - #{vals\ 702}#) + #{mod\ 650}#)) + #{vals\ 640}#) (#{build-sequence\ 110}# #f - (map (lambda (#{x\ 741}#) + (map (lambda (#{x\ 679}#) (#{chi\ 167}# - (cdr #{x\ 741}#) - (car #{x\ 741}#) + (cdr #{x\ 679}#) + (car #{x\ 679}#) '(()) - #{mod\ 712}#)) - (cons (cons #{er\ 706}# + #{mod\ 650}#)) + (cons (cons #{er\ 644}# (#{source-wrap\ 160}# - #{e\ 709}# - #{w\ 710}# - #{s\ 711}# - #{mod\ 712}#)) - (cdr #{body\ 697}#)))))))))))))))))) - (#{parse\ 696}# - (map (lambda (#{x\ 704}#) - (cons #{r\ 693}# + #{e\ 647}# + #{w\ 648}# + #{s\ 649}# + #{mod\ 650}#)) + (cdr #{body\ 635}#)))))))))))))))))) + (#{parse\ 634}# + (map (lambda (#{x\ 642}#) + (cons #{r\ 631}# (#{wrap\ 159}# - #{x\ 704}# - #{w\ 695}# - #{mod\ 692}#))) - #{body\ 688}#) + #{x\ 642}# + #{w\ 633}# + #{mod\ 630}#))) + #{body\ 626}#) '() '() '() @@ -2907,850 +2679,850 @@ '() '()))))))) (#{chi-macro\ 170}# - (lambda (#{p\ 742}# - #{e\ 743}# - #{r\ 744}# - #{w\ 745}# - #{rib\ 746}# - #{mod\ 747}#) - (letrec ((#{rebuild-macro-output\ 748}# - (lambda (#{x\ 749}# #{m\ 750}#) - (if (pair? #{x\ 749}#) - (cons (#{rebuild-macro-output\ 748}# - (car #{x\ 749}#) - #{m\ 750}#) - (#{rebuild-macro-output\ 748}# - (cdr #{x\ 749}#) - #{m\ 750}#)) - (if (#{syntax-object?\ 115}# #{x\ 749}#) - (let ((#{w\ 751}# (#{syntax-object-wrap\ 117}# - #{x\ 749}#))) - (let ((#{ms\ 752}# - (#{wrap-marks\ 134}# #{w\ 751}#)) - (#{s\ 753}# (#{wrap-subst\ 135}# - #{w\ 751}#))) - (if (if (pair? #{ms\ 752}#) - (eq? (car #{ms\ 752}#) #f) + (lambda (#{p\ 680}# + #{e\ 681}# + #{r\ 682}# + #{w\ 683}# + #{rib\ 684}# + #{mod\ 685}#) + (letrec ((#{rebuild-macro-output\ 686}# + (lambda (#{x\ 687}# #{m\ 688}#) + (if (pair? #{x\ 687}#) + (cons (#{rebuild-macro-output\ 686}# + (car #{x\ 687}#) + #{m\ 688}#) + (#{rebuild-macro-output\ 686}# + (cdr #{x\ 687}#) + #{m\ 688}#)) + (if (#{syntax-object?\ 115}# #{x\ 687}#) + (let ((#{w\ 689}# (#{syntax-object-wrap\ 117}# + #{x\ 687}#))) + (let ((#{ms\ 690}# + (#{wrap-marks\ 134}# #{w\ 689}#)) + (#{s\ 691}# (#{wrap-subst\ 135}# + #{w\ 689}#))) + (if (if (pair? #{ms\ 690}#) + (eq? (car #{ms\ 690}#) #f) #f) (#{make-syntax-object\ 114}# (#{syntax-object-expression\ 116}# - #{x\ 749}#) + #{x\ 687}#) (#{make-wrap\ 133}# - (cdr #{ms\ 752}#) - (if #{rib\ 746}# - (cons #{rib\ 746}# - (cdr #{s\ 753}#)) - (cdr #{s\ 753}#))) + (cdr #{ms\ 690}#) + (if #{rib\ 684}# + (cons #{rib\ 684}# + (cdr #{s\ 691}#)) + (cdr #{s\ 691}#))) (#{syntax-object-module\ 118}# - #{x\ 749}#)) + #{x\ 687}#)) (#{make-syntax-object\ 114}# (#{syntax-object-expression\ 116}# - #{x\ 749}#) + #{x\ 687}#) (#{make-wrap\ 133}# - (cons #{m\ 750}# #{ms\ 752}#) - (if #{rib\ 746}# - (cons #{rib\ 746}# + (cons #{m\ 688}# #{ms\ 690}#) + (if #{rib\ 684}# + (cons #{rib\ 684}# (cons 'shift - #{s\ 753}#)) - (cons (quote shift) #{s\ 753}#))) - (let ((#{pmod\ 754}# - (procedure-module #{p\ 742}#))) - (if #{pmod\ 754}# + #{s\ 691}#)) + (cons (quote shift) #{s\ 691}#))) + (let ((#{pmod\ 692}# + (procedure-module #{p\ 680}#))) + (if #{pmod\ 692}# (cons 'hygiene - (module-name #{pmod\ 754}#)) + (module-name #{pmod\ 692}#)) '(hygiene guile))))))) - (if (vector? #{x\ 749}#) - (let ((#{n\ 755}# (vector-length - #{x\ 749}#))) - (let ((#{v\ 756}# (make-vector - #{n\ 755}#))) - (letrec ((#{loop\ 757}# - (lambda (#{i\ 758}#) + (if (vector? #{x\ 687}#) + (let ((#{n\ 693}# (vector-length + #{x\ 687}#))) + (let ((#{v\ 694}# (make-vector + #{n\ 693}#))) + (letrec ((#{loop\ 695}# + (lambda (#{i\ 696}#) (if (#{fx=\ 88}# - #{i\ 758}# - #{n\ 755}#) + #{i\ 696}# + #{n\ 693}#) (begin (if #f #f) - #{v\ 756}#) + #{v\ 694}#) (begin (vector-set! - #{v\ 756}# - #{i\ 758}# - (#{rebuild-macro-output\ 748}# + #{v\ 694}# + #{i\ 696}# + (#{rebuild-macro-output\ 686}# (vector-ref - #{x\ 749}# - #{i\ 758}#) - #{m\ 750}#)) - (#{loop\ 757}# + #{x\ 687}# + #{i\ 696}#) + #{m\ 688}#)) + (#{loop\ 695}# (#{fx+\ 86}# - #{i\ 758}# + #{i\ 696}# 1))))))) - (#{loop\ 757}# 0)))) - (if (symbol? #{x\ 749}#) + (#{loop\ 695}# 0)))) + (if (symbol? #{x\ 687}#) (syntax-violation #f "encountered raw symbol in macro output" (#{source-wrap\ 160}# - #{e\ 743}# - #{w\ 745}# - (#{wrap-subst\ 135}# #{w\ 745}#) - #{mod\ 747}#) - #{x\ 749}#) - #{x\ 749}#))))))) - (#{rebuild-macro-output\ 748}# - (#{p\ 742}# (#{wrap\ 159}# - #{e\ 743}# - (#{anti-mark\ 146}# #{w\ 745}#) - #{mod\ 747}#)) + #{e\ 681}# + #{w\ 683}# + (#{wrap-subst\ 135}# #{w\ 683}#) + #{mod\ 685}#) + #{x\ 687}#) + #{x\ 687}#))))))) + (#{rebuild-macro-output\ 686}# + (#{p\ 680}# (#{wrap\ 159}# + #{e\ 681}# + (#{anti-mark\ 146}# #{w\ 683}#) + #{mod\ 685}#)) (string #\m))))) (#{chi-application\ 169}# - (lambda (#{x\ 759}# - #{e\ 760}# - #{r\ 761}# - #{w\ 762}# - #{s\ 763}# - #{mod\ 764}#) - ((lambda (#{tmp\ 765}#) - ((lambda (#{tmp\ 766}#) - (if #{tmp\ 766}# - (apply (lambda (#{e0\ 767}# #{e1\ 768}#) + (lambda (#{x\ 697}# + #{e\ 698}# + #{r\ 699}# + #{w\ 700}# + #{s\ 701}# + #{mod\ 702}#) + ((lambda (#{tmp\ 703}#) + ((lambda (#{tmp\ 704}#) + (if #{tmp\ 704}# + (apply (lambda (#{e0\ 705}# #{e1\ 706}#) (#{build-application\ 96}# - #{s\ 763}# - #{x\ 759}# - (map (lambda (#{e\ 769}#) + #{s\ 701}# + #{x\ 697}# + (map (lambda (#{e\ 707}#) (#{chi\ 167}# - #{e\ 769}# - #{r\ 761}# - #{w\ 762}# - #{mod\ 764}#)) - #{e1\ 768}#))) - #{tmp\ 766}#) + #{e\ 707}# + #{r\ 699}# + #{w\ 700}# + #{mod\ 702}#)) + #{e1\ 706}#))) + #{tmp\ 704}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 765}#))) + #{tmp\ 703}#))) ($sc-dispatch - #{tmp\ 765}# + #{tmp\ 703}# '(any . each-any)))) - #{e\ 760}#))) + #{e\ 698}#))) (#{chi-expr\ 168}# - (lambda (#{type\ 771}# - #{value\ 772}# - #{e\ 773}# - #{r\ 774}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#) - (if (memv #{type\ 771}# (quote (lexical))) + (lambda (#{type\ 709}# + #{value\ 710}# + #{e\ 711}# + #{r\ 712}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#) + (if (memv #{type\ 709}# (quote (lexical))) (#{build-lexical-reference\ 98}# 'value - #{s\ 776}# - #{e\ 773}# - #{value\ 772}#) - (if (memv #{type\ 771}# (quote (core core-form))) - (#{value\ 772}# - #{e\ 773}# - #{r\ 774}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#) - (if (memv #{type\ 771}# (quote (module-ref))) + #{s\ 714}# + #{e\ 711}# + #{value\ 710}#) + (if (memv #{type\ 709}# (quote (core core-form))) + (#{value\ 710}# + #{e\ 711}# + #{r\ 712}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#) + (if (memv #{type\ 709}# (quote (module-ref))) (call-with-values - (lambda () (#{value\ 772}# #{e\ 773}#)) - (lambda (#{id\ 778}# #{mod\ 779}#) + (lambda () (#{value\ 710}# #{e\ 711}#)) + (lambda (#{id\ 716}# #{mod\ 717}#) (#{build-global-reference\ 101}# - #{s\ 776}# - #{id\ 778}# - #{mod\ 779}#))) - (if (memv #{type\ 771}# (quote (lexical-call))) + #{s\ 714}# + #{id\ 716}# + #{mod\ 717}#))) + (if (memv #{type\ 709}# (quote (lexical-call))) (#{chi-application\ 169}# (#{build-lexical-reference\ 98}# 'fun - (#{source-annotation\ 122}# (car #{e\ 773}#)) - (car #{e\ 773}#) - #{value\ 772}#) - #{e\ 773}# - #{r\ 774}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#) - (if (memv #{type\ 771}# (quote (global-call))) + (#{source-annotation\ 122}# (car #{e\ 711}#)) + (car #{e\ 711}#) + #{value\ 710}#) + #{e\ 711}# + #{r\ 712}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#) + (if (memv #{type\ 709}# (quote (global-call))) (#{chi-application\ 169}# (#{build-global-reference\ 101}# - (#{source-annotation\ 122}# (car #{e\ 773}#)) - (if (#{syntax-object?\ 115}# #{value\ 772}#) + (#{source-annotation\ 122}# (car #{e\ 711}#)) + (if (#{syntax-object?\ 115}# #{value\ 710}#) (#{syntax-object-expression\ 116}# - #{value\ 772}#) - #{value\ 772}#) - (if (#{syntax-object?\ 115}# #{value\ 772}#) - (#{syntax-object-module\ 118}# #{value\ 772}#) - #{mod\ 777}#)) - #{e\ 773}# - #{r\ 774}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#) - (if (memv #{type\ 771}# (quote (constant))) + #{value\ 710}#) + #{value\ 710}#) + (if (#{syntax-object?\ 115}# #{value\ 710}#) + (#{syntax-object-module\ 118}# #{value\ 710}#) + #{mod\ 715}#)) + #{e\ 711}# + #{r\ 712}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#) + (if (memv #{type\ 709}# (quote (constant))) (#{build-data\ 109}# - #{s\ 776}# + #{s\ 714}# (#{strip\ 180}# (#{source-wrap\ 160}# - #{e\ 773}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#) + #{e\ 711}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#) '(()))) - (if (memv #{type\ 771}# (quote (global))) + (if (memv #{type\ 709}# (quote (global))) (#{build-global-reference\ 101}# - #{s\ 776}# - #{value\ 772}# - #{mod\ 777}#) - (if (memv #{type\ 771}# (quote (call))) + #{s\ 714}# + #{value\ 710}# + #{mod\ 715}#) + (if (memv #{type\ 709}# (quote (call))) (#{chi-application\ 169}# (#{chi\ 167}# - (car #{e\ 773}#) - #{r\ 774}# - #{w\ 775}# - #{mod\ 777}#) - #{e\ 773}# - #{r\ 774}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#) - (if (memv #{type\ 771}# (quote (begin-form))) - ((lambda (#{tmp\ 780}#) - ((lambda (#{tmp\ 781}#) - (if #{tmp\ 781}# - (apply (lambda (#{_\ 782}# - #{e1\ 783}# - #{e2\ 784}#) + (car #{e\ 711}#) + #{r\ 712}# + #{w\ 713}# + #{mod\ 715}#) + #{e\ 711}# + #{r\ 712}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#) + (if (memv #{type\ 709}# (quote (begin-form))) + ((lambda (#{tmp\ 718}#) + ((lambda (#{tmp\ 719}#) + (if #{tmp\ 719}# + (apply (lambda (#{_\ 720}# + #{e1\ 721}# + #{e2\ 722}#) (#{chi-sequence\ 161}# - (cons #{e1\ 783}# - #{e2\ 784}#) - #{r\ 774}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#)) - #{tmp\ 781}#) + (cons #{e1\ 721}# + #{e2\ 722}#) + #{r\ 712}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#)) + #{tmp\ 719}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 780}#))) + #{tmp\ 718}#))) ($sc-dispatch - #{tmp\ 780}# + #{tmp\ 718}# '(any any . each-any)))) - #{e\ 773}#) - (if (memv #{type\ 771}# + #{e\ 711}#) + (if (memv #{type\ 709}# '(local-syntax-form)) (#{chi-local-syntax\ 172}# - #{value\ 772}# - #{e\ 773}# - #{r\ 774}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}# + #{value\ 710}# + #{e\ 711}# + #{r\ 712}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}# #{chi-sequence\ 161}#) - (if (memv #{type\ 771}# + (if (memv #{type\ 709}# '(eval-when-form)) - ((lambda (#{tmp\ 786}#) - ((lambda (#{tmp\ 787}#) - (if #{tmp\ 787}# - (apply (lambda (#{_\ 788}# - #{x\ 789}# - #{e1\ 790}# - #{e2\ 791}#) - (let ((#{when-list\ 792}# + ((lambda (#{tmp\ 724}#) + ((lambda (#{tmp\ 725}#) + (if #{tmp\ 725}# + (apply (lambda (#{_\ 726}# + #{x\ 727}# + #{e1\ 728}# + #{e2\ 729}#) + (let ((#{when-list\ 730}# (#{chi-when-list\ 164}# - #{e\ 773}# - #{x\ 789}# - #{w\ 775}#))) + #{e\ 711}# + #{x\ 727}# + #{w\ 713}#))) (if (memq 'eval - #{when-list\ 792}#) + #{when-list\ 730}#) (#{chi-sequence\ 161}# - (cons #{e1\ 790}# - #{e2\ 791}#) - #{r\ 774}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#) + (cons #{e1\ 728}# + #{e2\ 729}#) + #{r\ 712}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#) (#{chi-void\ 174}#)))) - #{tmp\ 787}#) + #{tmp\ 725}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 786}#))) + #{tmp\ 724}#))) ($sc-dispatch - #{tmp\ 786}# + #{tmp\ 724}# '(any each-any any . each-any)))) - #{e\ 773}#) - (if (memv #{type\ 771}# + #{e\ 711}#) + (if (memv #{type\ 709}# '(define-form define-syntax-form)) (syntax-violation #f "definition in expression context" - #{e\ 773}# + #{e\ 711}# (#{wrap\ 159}# - #{value\ 772}# - #{w\ 775}# - #{mod\ 777}#)) - (if (memv #{type\ 771}# + #{value\ 710}# + #{w\ 713}# + #{mod\ 715}#)) + (if (memv #{type\ 709}# '(syntax)) (syntax-violation #f "reference to pattern variable outside syntax form" (#{source-wrap\ 160}# - #{e\ 773}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#)) - (if (memv #{type\ 771}# + #{e\ 711}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#)) + (if (memv #{type\ 709}# '(displaced-lexical)) (syntax-violation #f "reference to identifier outside its scope" (#{source-wrap\ 160}# - #{e\ 773}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#)) + #{e\ 711}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#)) (syntax-violation #f "unexpected syntax" (#{source-wrap\ 160}# - #{e\ 773}# - #{w\ 775}# - #{s\ 776}# - #{mod\ 777}#)))))))))))))))))) + #{e\ 711}# + #{w\ 713}# + #{s\ 714}# + #{mod\ 715}#)))))))))))))))))) (#{chi\ 167}# - (lambda (#{e\ 795}# #{r\ 796}# #{w\ 797}# #{mod\ 798}#) + (lambda (#{e\ 733}# #{r\ 734}# #{w\ 735}# #{mod\ 736}#) (call-with-values (lambda () (#{syntax-type\ 165}# - #{e\ 795}# - #{r\ 796}# - #{w\ 797}# - (#{source-annotation\ 122}# #{e\ 795}#) + #{e\ 733}# + #{r\ 734}# + #{w\ 735}# + (#{source-annotation\ 122}# #{e\ 733}#) #f - #{mod\ 798}# + #{mod\ 736}# #f)) - (lambda (#{type\ 799}# - #{value\ 800}# - #{e\ 801}# - #{w\ 802}# - #{s\ 803}# - #{mod\ 804}#) + (lambda (#{type\ 737}# + #{value\ 738}# + #{e\ 739}# + #{w\ 740}# + #{s\ 741}# + #{mod\ 742}#) (#{chi-expr\ 168}# - #{type\ 799}# - #{value\ 800}# - #{e\ 801}# - #{r\ 796}# - #{w\ 802}# - #{s\ 803}# - #{mod\ 804}#))))) + #{type\ 737}# + #{value\ 738}# + #{e\ 739}# + #{r\ 734}# + #{w\ 740}# + #{s\ 741}# + #{mod\ 742}#))))) (#{chi-top\ 166}# - (lambda (#{e\ 805}# - #{r\ 806}# - #{w\ 807}# - #{m\ 808}# - #{esew\ 809}# - #{mod\ 810}#) + (lambda (#{e\ 743}# + #{r\ 744}# + #{w\ 745}# + #{m\ 746}# + #{esew\ 747}# + #{mod\ 748}#) (call-with-values (lambda () (#{syntax-type\ 165}# - #{e\ 805}# - #{r\ 806}# - #{w\ 807}# - (#{source-annotation\ 122}# #{e\ 805}#) + #{e\ 743}# + #{r\ 744}# + #{w\ 745}# + (#{source-annotation\ 122}# #{e\ 743}#) #f - #{mod\ 810}# + #{mod\ 748}# #f)) - (lambda (#{type\ 818}# - #{value\ 819}# - #{e\ 820}# - #{w\ 821}# - #{s\ 822}# - #{mod\ 823}#) - (if (memv #{type\ 818}# (quote (begin-form))) - ((lambda (#{tmp\ 824}#) - ((lambda (#{tmp\ 825}#) - (if #{tmp\ 825}# - (apply (lambda (#{_\ 826}#) (#{chi-void\ 174}#)) - #{tmp\ 825}#) - ((lambda (#{tmp\ 827}#) - (if #{tmp\ 827}# - (apply (lambda (#{_\ 828}# - #{e1\ 829}# - #{e2\ 830}#) + (lambda (#{type\ 756}# + #{value\ 757}# + #{e\ 758}# + #{w\ 759}# + #{s\ 760}# + #{mod\ 761}#) + (if (memv #{type\ 756}# (quote (begin-form))) + ((lambda (#{tmp\ 762}#) + ((lambda (#{tmp\ 763}#) + (if #{tmp\ 763}# + (apply (lambda (#{_\ 764}#) (#{chi-void\ 174}#)) + #{tmp\ 763}#) + ((lambda (#{tmp\ 765}#) + (if #{tmp\ 765}# + (apply (lambda (#{_\ 766}# + #{e1\ 767}# + #{e2\ 768}#) (#{chi-top-sequence\ 162}# - (cons #{e1\ 829}# #{e2\ 830}#) - #{r\ 806}# - #{w\ 821}# - #{s\ 822}# - #{m\ 808}# - #{esew\ 809}# - #{mod\ 823}#)) - #{tmp\ 827}#) + (cons #{e1\ 767}# #{e2\ 768}#) + #{r\ 744}# + #{w\ 759}# + #{s\ 760}# + #{m\ 746}# + #{esew\ 747}# + #{mod\ 761}#)) + #{tmp\ 765}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 824}#))) + #{tmp\ 762}#))) ($sc-dispatch - #{tmp\ 824}# + #{tmp\ 762}# '(any any . each-any))))) - ($sc-dispatch #{tmp\ 824}# (quote (any))))) - #{e\ 820}#) - (if (memv #{type\ 818}# (quote (local-syntax-form))) + ($sc-dispatch #{tmp\ 762}# (quote (any))))) + #{e\ 758}#) + (if (memv #{type\ 756}# (quote (local-syntax-form))) (#{chi-local-syntax\ 172}# - #{value\ 819}# - #{e\ 820}# - #{r\ 806}# - #{w\ 821}# - #{s\ 822}# - #{mod\ 823}# - (lambda (#{body\ 832}# - #{r\ 833}# - #{w\ 834}# - #{s\ 835}# - #{mod\ 836}#) + #{value\ 757}# + #{e\ 758}# + #{r\ 744}# + #{w\ 759}# + #{s\ 760}# + #{mod\ 761}# + (lambda (#{body\ 770}# + #{r\ 771}# + #{w\ 772}# + #{s\ 773}# + #{mod\ 774}#) (#{chi-top-sequence\ 162}# - #{body\ 832}# - #{r\ 833}# - #{w\ 834}# - #{s\ 835}# - #{m\ 808}# - #{esew\ 809}# - #{mod\ 836}#))) - (if (memv #{type\ 818}# (quote (eval-when-form))) - ((lambda (#{tmp\ 837}#) - ((lambda (#{tmp\ 838}#) - (if #{tmp\ 838}# - (apply (lambda (#{_\ 839}# - #{x\ 840}# - #{e1\ 841}# - #{e2\ 842}#) - (let ((#{when-list\ 843}# + #{body\ 770}# + #{r\ 771}# + #{w\ 772}# + #{s\ 773}# + #{m\ 746}# + #{esew\ 747}# + #{mod\ 774}#))) + (if (memv #{type\ 756}# (quote (eval-when-form))) + ((lambda (#{tmp\ 775}#) + ((lambda (#{tmp\ 776}#) + (if #{tmp\ 776}# + (apply (lambda (#{_\ 777}# + #{x\ 778}# + #{e1\ 779}# + #{e2\ 780}#) + (let ((#{when-list\ 781}# (#{chi-when-list\ 164}# - #{e\ 820}# - #{x\ 840}# - #{w\ 821}#)) - (#{body\ 844}# - (cons #{e1\ 841}# - #{e2\ 842}#))) - (if (eq? #{m\ 808}# (quote e)) + #{e\ 758}# + #{x\ 778}# + #{w\ 759}#)) + (#{body\ 782}# + (cons #{e1\ 779}# + #{e2\ 780}#))) + (if (eq? #{m\ 746}# (quote e)) (if (memq 'eval - #{when-list\ 843}#) + #{when-list\ 781}#) (#{chi-top-sequence\ 162}# - #{body\ 844}# - #{r\ 806}# - #{w\ 821}# - #{s\ 822}# + #{body\ 782}# + #{r\ 744}# + #{w\ 759}# + #{s\ 760}# 'e '(eval) - #{mod\ 823}#) + #{mod\ 761}#) (#{chi-void\ 174}#)) (if (memq 'load - #{when-list\ 843}#) - (if (let ((#{t\ 847}# (memq 'compile - #{when-list\ 843}#))) - (if #{t\ 847}# - #{t\ 847}# - (if (eq? #{m\ 808}# + #{when-list\ 781}#) + (if (let ((#{t\ 785}# (memq 'compile + #{when-list\ 781}#))) + (if #{t\ 785}# + #{t\ 785}# + (if (eq? #{m\ 746}# 'c&e) (memq 'eval - #{when-list\ 843}#) + #{when-list\ 781}#) #f))) (#{chi-top-sequence\ 162}# - #{body\ 844}# - #{r\ 806}# - #{w\ 821}# - #{s\ 822}# + #{body\ 782}# + #{r\ 744}# + #{w\ 759}# + #{s\ 760}# 'c&e '(compile load) - #{mod\ 823}#) - (if (memq #{m\ 808}# + #{mod\ 761}#) + (if (memq #{m\ 746}# '(c c&e)) (#{chi-top-sequence\ 162}# - #{body\ 844}# - #{r\ 806}# - #{w\ 821}# - #{s\ 822}# + #{body\ 782}# + #{r\ 744}# + #{w\ 759}# + #{s\ 760}# 'c '(load) - #{mod\ 823}#) + #{mod\ 761}#) (#{chi-void\ 174}#))) - (if (let ((#{t\ 848}# (memq 'compile - #{when-list\ 843}#))) - (if #{t\ 848}# - #{t\ 848}# - (if (eq? #{m\ 808}# + (if (let ((#{t\ 786}# (memq 'compile + #{when-list\ 781}#))) + (if #{t\ 786}# + #{t\ 786}# + (if (eq? #{m\ 746}# 'c&e) (memq 'eval - #{when-list\ 843}#) + #{when-list\ 781}#) #f))) (begin (#{top-level-eval-hook\ 90}# (#{chi-top-sequence\ 162}# - #{body\ 844}# - #{r\ 806}# - #{w\ 821}# - #{s\ 822}# + #{body\ 782}# + #{r\ 744}# + #{w\ 759}# + #{s\ 760}# 'e '(eval) - #{mod\ 823}#) - #{mod\ 823}#) + #{mod\ 761}#) + #{mod\ 761}#) (#{chi-void\ 174}#)) (#{chi-void\ 174}#)))))) - #{tmp\ 838}#) + #{tmp\ 776}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 837}#))) + #{tmp\ 775}#))) ($sc-dispatch - #{tmp\ 837}# + #{tmp\ 775}# '(any each-any any . each-any)))) - #{e\ 820}#) - (if (memv #{type\ 818}# (quote (define-syntax-form))) - (let ((#{n\ 849}# (#{id-var-name\ 153}# - #{value\ 819}# - #{w\ 821}#)) - (#{r\ 850}# (#{macros-only-env\ 127}# - #{r\ 806}#))) - (if (memv #{m\ 808}# (quote (c))) - (if (memq (quote compile) #{esew\ 809}#) - (let ((#{e\ 851}# (#{chi-install-global\ 163}# - #{n\ 849}# + #{e\ 758}#) + (if (memv #{type\ 756}# (quote (define-syntax-form))) + (let ((#{n\ 787}# (#{id-var-name\ 153}# + #{value\ 757}# + #{w\ 759}#)) + (#{r\ 788}# (#{macros-only-env\ 127}# + #{r\ 744}#))) + (if (memv #{m\ 746}# (quote (c))) + (if (memq (quote compile) #{esew\ 747}#) + (let ((#{e\ 789}# (#{chi-install-global\ 163}# + #{n\ 787}# (#{chi\ 167}# - #{e\ 820}# - #{r\ 850}# - #{w\ 821}# - #{mod\ 823}#)))) + #{e\ 758}# + #{r\ 788}# + #{w\ 759}# + #{mod\ 761}#)))) (begin (#{top-level-eval-hook\ 90}# - #{e\ 851}# - #{mod\ 823}#) - (if (memq (quote load) #{esew\ 809}#) - #{e\ 851}# + #{e\ 789}# + #{mod\ 761}#) + (if (memq (quote load) #{esew\ 747}#) + #{e\ 789}# (#{chi-void\ 174}#)))) - (if (memq (quote load) #{esew\ 809}#) + (if (memq (quote load) #{esew\ 747}#) (#{chi-install-global\ 163}# - #{n\ 849}# + #{n\ 787}# (#{chi\ 167}# - #{e\ 820}# - #{r\ 850}# - #{w\ 821}# - #{mod\ 823}#)) + #{e\ 758}# + #{r\ 788}# + #{w\ 759}# + #{mod\ 761}#)) (#{chi-void\ 174}#))) - (if (memv #{m\ 808}# (quote (c&e))) - (let ((#{e\ 852}# (#{chi-install-global\ 163}# - #{n\ 849}# + (if (memv #{m\ 746}# (quote (c&e))) + (let ((#{e\ 790}# (#{chi-install-global\ 163}# + #{n\ 787}# (#{chi\ 167}# - #{e\ 820}# - #{r\ 850}# - #{w\ 821}# - #{mod\ 823}#)))) + #{e\ 758}# + #{r\ 788}# + #{w\ 759}# + #{mod\ 761}#)))) (begin (#{top-level-eval-hook\ 90}# - #{e\ 852}# - #{mod\ 823}#) - #{e\ 852}#)) + #{e\ 790}# + #{mod\ 761}#) + #{e\ 790}#)) (begin - (if (memq (quote eval) #{esew\ 809}#) + (if (memq (quote eval) #{esew\ 747}#) (#{top-level-eval-hook\ 90}# (#{chi-install-global\ 163}# - #{n\ 849}# + #{n\ 787}# (#{chi\ 167}# - #{e\ 820}# - #{r\ 850}# - #{w\ 821}# - #{mod\ 823}#)) - #{mod\ 823}#)) + #{e\ 758}# + #{r\ 788}# + #{w\ 759}# + #{mod\ 761}#)) + #{mod\ 761}#)) (#{chi-void\ 174}#))))) - (if (memv #{type\ 818}# (quote (define-form))) - (let ((#{n\ 853}# (#{id-var-name\ 153}# - #{value\ 819}# - #{w\ 821}#))) - (let ((#{type\ 854}# + (if (memv #{type\ 756}# (quote (define-form))) + (let ((#{n\ 791}# (#{id-var-name\ 153}# + #{value\ 757}# + #{w\ 759}#))) + (let ((#{type\ 792}# (#{binding-type\ 123}# (#{lookup\ 128}# - #{n\ 853}# - #{r\ 806}# - #{mod\ 823}#)))) - (if (memv #{type\ 854}# + #{n\ 791}# + #{r\ 744}# + #{mod\ 761}#)))) + (if (memv #{type\ 792}# '(global core macro module-ref)) (begin (if (if (not (module-local-variable (current-module) - #{n\ 853}#)) + #{n\ 791}#)) (current-module) #f) - (let ((#{old\ 855}# + (let ((#{old\ 793}# (module-variable (current-module) - #{n\ 853}#))) + #{n\ 791}#))) (module-define! (current-module) - #{n\ 853}# - (if (variable? #{old\ 855}#) - (variable-ref #{old\ 855}#) + #{n\ 791}# + (if (variable? #{old\ 793}#) + (variable-ref #{old\ 793}#) #f)))) - (let ((#{x\ 856}# (#{build-global-definition\ 104}# - #{s\ 822}# - #{n\ 853}# + (let ((#{x\ 794}# (#{build-global-definition\ 104}# + #{s\ 760}# + #{n\ 791}# (#{chi\ 167}# - #{e\ 820}# - #{r\ 806}# - #{w\ 821}# - #{mod\ 823}#)))) + #{e\ 758}# + #{r\ 744}# + #{w\ 759}# + #{mod\ 761}#)))) (begin - (if (eq? #{m\ 808}# (quote c&e)) + (if (eq? #{m\ 746}# (quote c&e)) (#{top-level-eval-hook\ 90}# - #{x\ 856}# - #{mod\ 823}#)) - #{x\ 856}#))) - (if (memv #{type\ 854}# + #{x\ 794}# + #{mod\ 761}#)) + #{x\ 794}#))) + (if (memv #{type\ 792}# '(displaced-lexical)) (syntax-violation #f "identifier out of context" - #{e\ 820}# + #{e\ 758}# (#{wrap\ 159}# - #{value\ 819}# - #{w\ 821}# - #{mod\ 823}#)) + #{value\ 757}# + #{w\ 759}# + #{mod\ 761}#)) (syntax-violation #f "cannot define keyword at top level" - #{e\ 820}# + #{e\ 758}# (#{wrap\ 159}# - #{value\ 819}# - #{w\ 821}# - #{mod\ 823}#)))))) - (let ((#{x\ 857}# (#{chi-expr\ 168}# - #{type\ 818}# - #{value\ 819}# - #{e\ 820}# - #{r\ 806}# - #{w\ 821}# - #{s\ 822}# - #{mod\ 823}#))) + #{value\ 757}# + #{w\ 759}# + #{mod\ 761}#)))))) + (let ((#{x\ 795}# (#{chi-expr\ 168}# + #{type\ 756}# + #{value\ 757}# + #{e\ 758}# + #{r\ 744}# + #{w\ 759}# + #{s\ 760}# + #{mod\ 761}#))) (begin - (if (eq? #{m\ 808}# (quote c&e)) + (if (eq? #{m\ 746}# (quote c&e)) (#{top-level-eval-hook\ 90}# - #{x\ 857}# - #{mod\ 823}#)) - #{x\ 857}#))))))))))) + #{x\ 795}# + #{mod\ 761}#)) + #{x\ 795}#))))))))))) (#{syntax-type\ 165}# - (lambda (#{e\ 858}# - #{r\ 859}# - #{w\ 860}# - #{s\ 861}# - #{rib\ 862}# - #{mod\ 863}# - #{for-car?\ 864}#) - (if (symbol? #{e\ 858}#) - (let ((#{n\ 865}# (#{id-var-name\ 153}# - #{e\ 858}# - #{w\ 860}#))) - (let ((#{b\ 866}# (#{lookup\ 128}# - #{n\ 865}# - #{r\ 859}# - #{mod\ 863}#))) - (let ((#{type\ 867}# - (#{binding-type\ 123}# #{b\ 866}#))) - (if (memv #{type\ 867}# (quote (lexical))) + (lambda (#{e\ 796}# + #{r\ 797}# + #{w\ 798}# + #{s\ 799}# + #{rib\ 800}# + #{mod\ 801}# + #{for-car?\ 802}#) + (if (symbol? #{e\ 796}#) + (let ((#{n\ 803}# (#{id-var-name\ 153}# + #{e\ 796}# + #{w\ 798}#))) + (let ((#{b\ 804}# (#{lookup\ 128}# + #{n\ 803}# + #{r\ 797}# + #{mod\ 801}#))) + (let ((#{type\ 805}# + (#{binding-type\ 123}# #{b\ 804}#))) + (if (memv #{type\ 805}# (quote (lexical))) (values - #{type\ 867}# - (#{binding-value\ 124}# #{b\ 866}#) - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) - (if (memv #{type\ 867}# (quote (global))) + #{type\ 805}# + (#{binding-value\ 124}# #{b\ 804}#) + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) + (if (memv #{type\ 805}# (quote (global))) (values - #{type\ 867}# - #{n\ 865}# - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) - (if (memv #{type\ 867}# (quote (macro))) - (if #{for-car?\ 864}# + #{type\ 805}# + #{n\ 803}# + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) + (if (memv #{type\ 805}# (quote (macro))) + (if #{for-car?\ 802}# (values - #{type\ 867}# - (#{binding-value\ 124}# #{b\ 866}#) - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) + #{type\ 805}# + (#{binding-value\ 124}# #{b\ 804}#) + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) (#{syntax-type\ 165}# (#{chi-macro\ 170}# - (#{binding-value\ 124}# #{b\ 866}#) - #{e\ 858}# - #{r\ 859}# - #{w\ 860}# - #{rib\ 862}# - #{mod\ 863}#) - #{r\ 859}# + (#{binding-value\ 124}# #{b\ 804}#) + #{e\ 796}# + #{r\ 797}# + #{w\ 798}# + #{rib\ 800}# + #{mod\ 801}#) + #{r\ 797}# '(()) - #{s\ 861}# - #{rib\ 862}# - #{mod\ 863}# + #{s\ 799}# + #{rib\ 800}# + #{mod\ 801}# #f)) (values - #{type\ 867}# - (#{binding-value\ 124}# #{b\ 866}#) - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#))))))) - (if (pair? #{e\ 858}#) - (let ((#{first\ 868}# (car #{e\ 858}#))) + #{type\ 805}# + (#{binding-value\ 124}# #{b\ 804}#) + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#))))))) + (if (pair? #{e\ 796}#) + (let ((#{first\ 806}# (car #{e\ 796}#))) (call-with-values (lambda () (#{syntax-type\ 165}# - #{first\ 868}# - #{r\ 859}# - #{w\ 860}# - #{s\ 861}# - #{rib\ 862}# - #{mod\ 863}# + #{first\ 806}# + #{r\ 797}# + #{w\ 798}# + #{s\ 799}# + #{rib\ 800}# + #{mod\ 801}# #t)) - (lambda (#{ftype\ 869}# - #{fval\ 870}# - #{fe\ 871}# - #{fw\ 872}# - #{fs\ 873}# - #{fmod\ 874}#) - (if (memv #{ftype\ 869}# (quote (lexical))) + (lambda (#{ftype\ 807}# + #{fval\ 808}# + #{fe\ 809}# + #{fw\ 810}# + #{fs\ 811}# + #{fmod\ 812}#) + (if (memv #{ftype\ 807}# (quote (lexical))) (values 'lexical-call - #{fval\ 870}# - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) - (if (memv #{ftype\ 869}# (quote (global))) + #{fval\ 808}# + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) + (if (memv #{ftype\ 807}# (quote (global))) (values 'global-call (#{make-syntax-object\ 114}# - #{fval\ 870}# - #{w\ 860}# - #{fmod\ 874}#) - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) - (if (memv #{ftype\ 869}# (quote (macro))) + #{fval\ 808}# + #{w\ 798}# + #{fmod\ 812}#) + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) + (if (memv #{ftype\ 807}# (quote (macro))) (#{syntax-type\ 165}# (#{chi-macro\ 170}# - #{fval\ 870}# - #{e\ 858}# - #{r\ 859}# - #{w\ 860}# - #{rib\ 862}# - #{mod\ 863}#) - #{r\ 859}# + #{fval\ 808}# + #{e\ 796}# + #{r\ 797}# + #{w\ 798}# + #{rib\ 800}# + #{mod\ 801}#) + #{r\ 797}# '(()) - #{s\ 861}# - #{rib\ 862}# - #{mod\ 863}# - #{for-car?\ 864}#) - (if (memv #{ftype\ 869}# (quote (module-ref))) + #{s\ 799}# + #{rib\ 800}# + #{mod\ 801}# + #{for-car?\ 802}#) + (if (memv #{ftype\ 807}# (quote (module-ref))) (call-with-values - (lambda () (#{fval\ 870}# #{e\ 858}#)) - (lambda (#{sym\ 875}# #{mod\ 876}#) + (lambda () (#{fval\ 808}# #{e\ 796}#)) + (lambda (#{sym\ 813}# #{mod\ 814}#) (#{syntax-type\ 165}# - #{sym\ 875}# - #{r\ 859}# - #{w\ 860}# - #{s\ 861}# - #{rib\ 862}# - #{mod\ 876}# - #{for-car?\ 864}#))) - (if (memv #{ftype\ 869}# (quote (core))) + #{sym\ 813}# + #{r\ 797}# + #{w\ 798}# + #{s\ 799}# + #{rib\ 800}# + #{mod\ 814}# + #{for-car?\ 802}#))) + (if (memv #{ftype\ 807}# (quote (core))) (values 'core-form - #{fval\ 870}# - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) - (if (memv #{ftype\ 869}# + #{fval\ 808}# + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) + (if (memv #{ftype\ 807}# '(local-syntax)) (values 'local-syntax-form - #{fval\ 870}# - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) - (if (memv #{ftype\ 869}# (quote (begin))) + #{fval\ 808}# + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) + (if (memv #{ftype\ 807}# (quote (begin))) (values 'begin-form #f - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) - (if (memv #{ftype\ 869}# + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) + (if (memv #{ftype\ 807}# '(eval-when)) (values 'eval-when-form #f - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) - (if (memv #{ftype\ 869}# + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) + (if (memv #{ftype\ 807}# '(define)) - ((lambda (#{tmp\ 877}#) - ((lambda (#{tmp\ 878}#) - (if (if #{tmp\ 878}# - (apply (lambda (#{_\ 879}# - #{name\ 880}# - #{val\ 881}#) + ((lambda (#{tmp\ 815}#) + ((lambda (#{tmp\ 816}#) + (if (if #{tmp\ 816}# + (apply (lambda (#{_\ 817}# + #{name\ 818}# + #{val\ 819}#) (#{id?\ 131}# - #{name\ 880}#)) - #{tmp\ 878}#) + #{name\ 818}#)) + #{tmp\ 816}#) #f) - (apply (lambda (#{_\ 882}# - #{name\ 883}# - #{val\ 884}#) + (apply (lambda (#{_\ 820}# + #{name\ 821}# + #{val\ 822}#) (values 'define-form - #{name\ 883}# - #{val\ 884}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#)) - #{tmp\ 878}#) - ((lambda (#{tmp\ 885}#) - (if (if #{tmp\ 885}# - (apply (lambda (#{_\ 886}# - #{name\ 887}# - #{args\ 888}# - #{e1\ 889}# - #{e2\ 890}#) + #{name\ 821}# + #{val\ 822}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#)) + #{tmp\ 816}#) + ((lambda (#{tmp\ 823}#) + (if (if #{tmp\ 823}# + (apply (lambda (#{_\ 824}# + #{name\ 825}# + #{args\ 826}# + #{e1\ 827}# + #{e2\ 828}#) (if (#{id?\ 131}# - #{name\ 887}#) + #{name\ 825}#) (#{valid-bound-ids?\ 156}# (#{lambda-var-list\ 182}# - #{args\ 888}#)) + #{args\ 826}#)) #f)) - #{tmp\ 885}#) + #{tmp\ 823}#) #f) - (apply (lambda (#{_\ 891}# - #{name\ 892}# - #{args\ 893}# - #{e1\ 894}# - #{e2\ 895}#) + (apply (lambda (#{_\ 829}# + #{name\ 830}# + #{args\ 831}# + #{e1\ 832}# + #{e2\ 833}#) (values 'define-form (#{wrap\ 159}# - #{name\ 892}# - #{w\ 860}# - #{mod\ 863}#) + #{name\ 830}# + #{w\ 798}# + #{mod\ 801}#) (#{decorate-source\ 94}# (cons '#(syntax-object lambda @@ -4202,32 +3974,32 @@ (hygiene guile)) (#{wrap\ 159}# - (cons #{args\ 893}# - (cons #{e1\ 894}# - #{e2\ 895}#)) - #{w\ 860}# - #{mod\ 863}#)) - #{s\ 861}#) + (cons #{args\ 831}# + (cons #{e1\ 832}# + #{e2\ 833}#)) + #{w\ 798}# + #{mod\ 801}#)) + #{s\ 799}#) '(()) - #{s\ 861}# - #{mod\ 863}#)) - #{tmp\ 885}#) - ((lambda (#{tmp\ 897}#) - (if (if #{tmp\ 897}# - (apply (lambda (#{_\ 898}# - #{name\ 899}#) + #{s\ 799}# + #{mod\ 801}#)) + #{tmp\ 823}#) + ((lambda (#{tmp\ 835}#) + (if (if #{tmp\ 835}# + (apply (lambda (#{_\ 836}# + #{name\ 837}#) (#{id?\ 131}# - #{name\ 899}#)) - #{tmp\ 897}#) + #{name\ 837}#)) + #{tmp\ 835}#) #f) - (apply (lambda (#{_\ 900}# - #{name\ 901}#) + (apply (lambda (#{_\ 838}# + #{name\ 839}#) (values 'define-form (#{wrap\ 159}# - #{name\ 901}# - #{w\ 860}# - #{mod\ 863}#) + #{name\ 839}# + #{w\ 798}# + #{mod\ 801}#) '(#(syntax-object if ((top) @@ -5549,102 +5321,102 @@ (hygiene guile))) '(()) - #{s\ 861}# - #{mod\ 863}#)) - #{tmp\ 897}#) + #{s\ 799}# + #{mod\ 801}#)) + #{tmp\ 835}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 877}#))) + #{tmp\ 815}#))) ($sc-dispatch - #{tmp\ 877}# + #{tmp\ 815}# '(any any))))) ($sc-dispatch - #{tmp\ 877}# + #{tmp\ 815}# '(any (any . any) any . each-any))))) ($sc-dispatch - #{tmp\ 877}# + #{tmp\ 815}# '(any any any)))) - #{e\ 858}#) - (if (memv #{ftype\ 869}# + #{e\ 796}#) + (if (memv #{ftype\ 807}# '(define-syntax)) - ((lambda (#{tmp\ 902}#) - ((lambda (#{tmp\ 903}#) - (if (if #{tmp\ 903}# - (apply (lambda (#{_\ 904}# - #{name\ 905}# - #{val\ 906}#) + ((lambda (#{tmp\ 840}#) + ((lambda (#{tmp\ 841}#) + (if (if #{tmp\ 841}# + (apply (lambda (#{_\ 842}# + #{name\ 843}# + #{val\ 844}#) (#{id?\ 131}# - #{name\ 905}#)) - #{tmp\ 903}#) + #{name\ 843}#)) + #{tmp\ 841}#) #f) - (apply (lambda (#{_\ 907}# - #{name\ 908}# - #{val\ 909}#) + (apply (lambda (#{_\ 845}# + #{name\ 846}# + #{val\ 847}#) (values 'define-syntax-form - #{name\ 908}# - #{val\ 909}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#)) - #{tmp\ 903}#) + #{name\ 846}# + #{val\ 847}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#)) + #{tmp\ 841}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 902}#))) + #{tmp\ 840}#))) ($sc-dispatch - #{tmp\ 902}# + #{tmp\ 840}# '(any any any)))) - #{e\ 858}#) + #{e\ 796}#) (values 'call #f - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#)))))))))))))) - (if (#{syntax-object?\ 115}# #{e\ 858}#) + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#)))))))))))))) + (if (#{syntax-object?\ 115}# #{e\ 796}#) (#{syntax-type\ 165}# - (#{syntax-object-expression\ 116}# #{e\ 858}#) - #{r\ 859}# + (#{syntax-object-expression\ 116}# #{e\ 796}#) + #{r\ 797}# (#{join-wraps\ 150}# - #{w\ 860}# - (#{syntax-object-wrap\ 117}# #{e\ 858}#)) - #{s\ 861}# - #{rib\ 862}# - (let ((#{t\ 910}# (#{syntax-object-module\ 118}# - #{e\ 858}#))) - (if #{t\ 910}# #{t\ 910}# #{mod\ 863}#)) - #{for-car?\ 864}#) - (if (self-evaluating? #{e\ 858}#) + #{w\ 798}# + (#{syntax-object-wrap\ 117}# #{e\ 796}#)) + #{s\ 799}# + #{rib\ 800}# + (let ((#{t\ 848}# (#{syntax-object-module\ 118}# + #{e\ 796}#))) + (if #{t\ 848}# #{t\ 848}# #{mod\ 801}#)) + #{for-car?\ 802}#) + (if (self-evaluating? #{e\ 796}#) (values 'constant #f - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#) + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#) (values 'other #f - #{e\ 858}# - #{w\ 860}# - #{s\ 861}# - #{mod\ 863}#))))))) + #{e\ 796}# + #{w\ 798}# + #{s\ 799}# + #{mod\ 801}#))))))) (#{chi-when-list\ 164}# - (lambda (#{e\ 911}# #{when-list\ 912}# #{w\ 913}#) - (letrec ((#{f\ 914}# (lambda (#{when-list\ 915}# - #{situations\ 916}#) - (if (null? #{when-list\ 915}#) - #{situations\ 916}# - (#{f\ 914}# (cdr #{when-list\ 915}#) - (cons (let ((#{x\ 917}# (car #{when-list\ 915}#))) + (lambda (#{e\ 849}# #{when-list\ 850}# #{w\ 851}#) + (letrec ((#{f\ 852}# (lambda (#{when-list\ 853}# + #{situations\ 854}#) + (if (null? #{when-list\ 853}#) + #{situations\ 854}# + (#{f\ 852}# (cdr #{when-list\ 853}#) + (cons (let ((#{x\ 855}# (car #{when-list\ 853}#))) (if (#{free-id=?\ 154}# - #{x\ 917}# + #{x\ 855}# '#(syntax-object compile ((top) @@ -6055,7 +5827,7 @@ guile))) 'compile (if (#{free-id=?\ 154}# - #{x\ 917}# + #{x\ 855}# '#(syntax-object load ((top) @@ -6466,7 +6238,7 @@ guile))) 'load (if (#{free-id=?\ 154}# - #{x\ 917}# + #{x\ 855}# '#(syntax-object eval ((top) @@ -6879,25 +6651,25 @@ (syntax-violation 'eval-when "invalid situation" - #{e\ 911}# + #{e\ 849}# (#{wrap\ 159}# - #{x\ 917}# - #{w\ 913}# + #{x\ 855}# + #{w\ 851}# #f)))))) - #{situations\ 916}#)))))) - (#{f\ 914}# #{when-list\ 912}# (quote ()))))) + #{situations\ 854}#)))))) + (#{f\ 852}# #{when-list\ 850}# (quote ()))))) (#{chi-install-global\ 163}# - (lambda (#{name\ 918}# #{e\ 919}#) + (lambda (#{name\ 856}# #{e\ 857}#) (#{build-global-definition\ 104}# #f - #{name\ 918}# - (if (let ((#{v\ 920}# (module-variable + #{name\ 856}# + (if (let ((#{v\ 858}# (module-variable (current-module) - #{name\ 918}#))) - (if #{v\ 920}# - (if (variable-bound? #{v\ 920}#) - (if (macro? (variable-ref #{v\ 920}#)) - (not (eq? (macro-type (variable-ref #{v\ 920}#)) + #{name\ 856}#))) + (if #{v\ 858}# + (if (variable-bound? #{v\ 858}#) + (if (macro? (variable-ref #{v\ 858}#)) + (not (eq? (macro-type (variable-ref #{v\ 858}#)) 'syncase-macro)) #f) #f) @@ -6916,1187 +6688,1176 @@ #f 'current-module) '()) - (#{build-data\ 109}# #f #{name\ 918}#))) + (#{build-data\ 109}# #f #{name\ 856}#))) (#{build-data\ 109}# #f (quote macro)) - #{e\ 919}#)) + #{e\ 857}#)) (#{build-application\ 96}# #f (#{build-primref\ 108}# #f 'make-syncase-macro) (list (#{build-data\ 109}# #f (quote macro)) - #{e\ 919}#)))))) + #{e\ 857}#)))))) (#{chi-top-sequence\ 162}# - (lambda (#{body\ 921}# - #{r\ 922}# - #{w\ 923}# - #{s\ 924}# - #{m\ 925}# - #{esew\ 926}# - #{mod\ 927}#) + (lambda (#{body\ 859}# + #{r\ 860}# + #{w\ 861}# + #{s\ 862}# + #{m\ 863}# + #{esew\ 864}# + #{mod\ 865}#) (#{build-sequence\ 110}# - #{s\ 924}# - (letrec ((#{dobody\ 928}# - (lambda (#{body\ 929}# - #{r\ 930}# - #{w\ 931}# - #{m\ 932}# - #{esew\ 933}# - #{mod\ 934}#) - (if (null? #{body\ 929}#) + #{s\ 862}# + (letrec ((#{dobody\ 866}# + (lambda (#{body\ 867}# + #{r\ 868}# + #{w\ 869}# + #{m\ 870}# + #{esew\ 871}# + #{mod\ 872}#) + (if (null? #{body\ 867}#) '() - (let ((#{first\ 935}# + (let ((#{first\ 873}# (#{chi-top\ 166}# - (car #{body\ 929}#) - #{r\ 930}# - #{w\ 931}# - #{m\ 932}# - #{esew\ 933}# - #{mod\ 934}#))) - (cons #{first\ 935}# - (#{dobody\ 928}# - (cdr #{body\ 929}#) - #{r\ 930}# - #{w\ 931}# - #{m\ 932}# - #{esew\ 933}# - #{mod\ 934}#))))))) - (#{dobody\ 928}# - #{body\ 921}# - #{r\ 922}# - #{w\ 923}# - #{m\ 925}# - #{esew\ 926}# - #{mod\ 927}#))))) + (car #{body\ 867}#) + #{r\ 868}# + #{w\ 869}# + #{m\ 870}# + #{esew\ 871}# + #{mod\ 872}#))) + (cons #{first\ 873}# + (#{dobody\ 866}# + (cdr #{body\ 867}#) + #{r\ 868}# + #{w\ 869}# + #{m\ 870}# + #{esew\ 871}# + #{mod\ 872}#))))))) + (#{dobody\ 866}# + #{body\ 859}# + #{r\ 860}# + #{w\ 861}# + #{m\ 863}# + #{esew\ 864}# + #{mod\ 865}#))))) (#{chi-sequence\ 161}# - (lambda (#{body\ 936}# - #{r\ 937}# - #{w\ 938}# - #{s\ 939}# - #{mod\ 940}#) + (lambda (#{body\ 874}# + #{r\ 875}# + #{w\ 876}# + #{s\ 877}# + #{mod\ 878}#) (#{build-sequence\ 110}# - #{s\ 939}# - (letrec ((#{dobody\ 941}# - (lambda (#{body\ 942}# - #{r\ 943}# - #{w\ 944}# - #{mod\ 945}#) - (if (null? #{body\ 942}#) + #{s\ 877}# + (letrec ((#{dobody\ 879}# + (lambda (#{body\ 880}# + #{r\ 881}# + #{w\ 882}# + #{mod\ 883}#) + (if (null? #{body\ 880}#) '() - (let ((#{first\ 946}# + (let ((#{first\ 884}# (#{chi\ 167}# - (car #{body\ 942}#) - #{r\ 943}# - #{w\ 944}# - #{mod\ 945}#))) - (cons #{first\ 946}# - (#{dobody\ 941}# - (cdr #{body\ 942}#) - #{r\ 943}# - #{w\ 944}# - #{mod\ 945}#))))))) - (#{dobody\ 941}# - #{body\ 936}# - #{r\ 937}# - #{w\ 938}# - #{mod\ 940}#))))) + (car #{body\ 880}#) + #{r\ 881}# + #{w\ 882}# + #{mod\ 883}#))) + (cons #{first\ 884}# + (#{dobody\ 879}# + (cdr #{body\ 880}#) + #{r\ 881}# + #{w\ 882}# + #{mod\ 883}#))))))) + (#{dobody\ 879}# + #{body\ 874}# + #{r\ 875}# + #{w\ 876}# + #{mod\ 878}#))))) (#{source-wrap\ 160}# - (lambda (#{x\ 947}# - #{w\ 948}# - #{s\ 949}# - #{defmod\ 950}#) + (lambda (#{x\ 885}# + #{w\ 886}# + #{s\ 887}# + #{defmod\ 888}#) (#{wrap\ 159}# - (#{decorate-source\ 94}# #{x\ 947}# #{s\ 949}#) - #{w\ 948}# - #{defmod\ 950}#))) + (#{decorate-source\ 94}# #{x\ 885}# #{s\ 887}#) + #{w\ 886}# + #{defmod\ 888}#))) (#{wrap\ 159}# - (lambda (#{x\ 951}# #{w\ 952}# #{defmod\ 953}#) - (if (if (null? (#{wrap-marks\ 134}# #{w\ 952}#)) - (null? (#{wrap-subst\ 135}# #{w\ 952}#)) + (lambda (#{x\ 889}# #{w\ 890}# #{defmod\ 891}#) + (if (if (null? (#{wrap-marks\ 134}# #{w\ 890}#)) + (null? (#{wrap-subst\ 135}# #{w\ 890}#)) #f) - #{x\ 951}# - (if (#{syntax-object?\ 115}# #{x\ 951}#) + #{x\ 889}# + (if (#{syntax-object?\ 115}# #{x\ 889}#) (#{make-syntax-object\ 114}# - (#{syntax-object-expression\ 116}# #{x\ 951}#) + (#{syntax-object-expression\ 116}# #{x\ 889}#) (#{join-wraps\ 150}# - #{w\ 952}# - (#{syntax-object-wrap\ 117}# #{x\ 951}#)) - (#{syntax-object-module\ 118}# #{x\ 951}#)) - (if (null? #{x\ 951}#) - #{x\ 951}# + #{w\ 890}# + (#{syntax-object-wrap\ 117}# #{x\ 889}#)) + (#{syntax-object-module\ 118}# #{x\ 889}#)) + (if (null? #{x\ 889}#) + #{x\ 889}# (#{make-syntax-object\ 114}# - #{x\ 951}# - #{w\ 952}# - #{defmod\ 953}#)))))) + #{x\ 889}# + #{w\ 890}# + #{defmod\ 891}#)))))) (#{bound-id-member?\ 158}# - (lambda (#{x\ 954}# #{list\ 955}#) - (if (not (null? #{list\ 955}#)) - (let ((#{t\ 956}# (#{bound-id=?\ 155}# - #{x\ 954}# - (car #{list\ 955}#)))) - (if #{t\ 956}# - #{t\ 956}# + (lambda (#{x\ 892}# #{list\ 893}#) + (if (not (null? #{list\ 893}#)) + (let ((#{t\ 894}# (#{bound-id=?\ 155}# + #{x\ 892}# + (car #{list\ 893}#)))) + (if #{t\ 894}# + #{t\ 894}# (#{bound-id-member?\ 158}# - #{x\ 954}# - (cdr #{list\ 955}#)))) + #{x\ 892}# + (cdr #{list\ 893}#)))) #f))) (#{distinct-bound-ids?\ 157}# - (lambda (#{ids\ 957}#) - (letrec ((#{distinct?\ 958}# - (lambda (#{ids\ 959}#) - (let ((#{t\ 960}# (null? #{ids\ 959}#))) - (if #{t\ 960}# - #{t\ 960}# + (lambda (#{ids\ 895}#) + (letrec ((#{distinct?\ 896}# + (lambda (#{ids\ 897}#) + (let ((#{t\ 898}# (null? #{ids\ 897}#))) + (if #{t\ 898}# + #{t\ 898}# (if (not (#{bound-id-member?\ 158}# - (car #{ids\ 959}#) - (cdr #{ids\ 959}#))) - (#{distinct?\ 958}# (cdr #{ids\ 959}#)) + (car #{ids\ 897}#) + (cdr #{ids\ 897}#))) + (#{distinct?\ 896}# (cdr #{ids\ 897}#)) #f)))))) - (#{distinct?\ 958}# #{ids\ 957}#)))) + (#{distinct?\ 896}# #{ids\ 895}#)))) (#{valid-bound-ids?\ 156}# - (lambda (#{ids\ 961}#) - (if (letrec ((#{all-ids?\ 962}# - (lambda (#{ids\ 963}#) - (let ((#{t\ 964}# (null? #{ids\ 963}#))) - (if #{t\ 964}# - #{t\ 964}# - (if (#{id?\ 131}# (car #{ids\ 963}#)) - (#{all-ids?\ 962}# (cdr #{ids\ 963}#)) + (lambda (#{ids\ 899}#) + (if (letrec ((#{all-ids?\ 900}# + (lambda (#{ids\ 901}#) + (let ((#{t\ 902}# (null? #{ids\ 901}#))) + (if #{t\ 902}# + #{t\ 902}# + (if (#{id?\ 131}# (car #{ids\ 901}#)) + (#{all-ids?\ 900}# (cdr #{ids\ 901}#)) #f)))))) - (#{all-ids?\ 962}# #{ids\ 961}#)) - (#{distinct-bound-ids?\ 157}# #{ids\ 961}#) + (#{all-ids?\ 900}# #{ids\ 899}#)) + (#{distinct-bound-ids?\ 157}# #{ids\ 899}#) #f))) (#{bound-id=?\ 155}# - (lambda (#{i\ 965}# #{j\ 966}#) - (if (if (#{syntax-object?\ 115}# #{i\ 965}#) - (#{syntax-object?\ 115}# #{j\ 966}#) + (lambda (#{i\ 903}# #{j\ 904}#) + (if (if (#{syntax-object?\ 115}# #{i\ 903}#) + (#{syntax-object?\ 115}# #{j\ 904}#) #f) - (if (eq? (#{syntax-object-expression\ 116}# #{i\ 965}#) - (#{syntax-object-expression\ 116}# #{j\ 966}#)) + (if (eq? (#{syntax-object-expression\ 116}# #{i\ 903}#) + (#{syntax-object-expression\ 116}# #{j\ 904}#)) (#{same-marks?\ 152}# (#{wrap-marks\ 134}# - (#{syntax-object-wrap\ 117}# #{i\ 965}#)) + (#{syntax-object-wrap\ 117}# #{i\ 903}#)) (#{wrap-marks\ 134}# - (#{syntax-object-wrap\ 117}# #{j\ 966}#))) + (#{syntax-object-wrap\ 117}# #{j\ 904}#))) #f) - (eq? #{i\ 965}# #{j\ 966}#)))) + (eq? #{i\ 903}# #{j\ 904}#)))) (#{free-id=?\ 154}# - (lambda (#{i\ 967}# #{j\ 968}#) - (if (eq? (let ((#{x\ 969}# #{i\ 967}#)) - (if (#{syntax-object?\ 115}# #{x\ 969}#) - (#{syntax-object-expression\ 116}# #{x\ 969}#) - #{x\ 969}#)) - (let ((#{x\ 970}# #{j\ 968}#)) - (if (#{syntax-object?\ 115}# #{x\ 970}#) - (#{syntax-object-expression\ 116}# #{x\ 970}#) - #{x\ 970}#))) - (eq? (#{id-var-name\ 153}# #{i\ 967}# (quote (()))) - (#{id-var-name\ 153}# #{j\ 968}# (quote (())))) + (lambda (#{i\ 905}# #{j\ 906}#) + (if (eq? (let ((#{x\ 907}# #{i\ 905}#)) + (if (#{syntax-object?\ 115}# #{x\ 907}#) + (#{syntax-object-expression\ 116}# #{x\ 907}#) + #{x\ 907}#)) + (let ((#{x\ 908}# #{j\ 906}#)) + (if (#{syntax-object?\ 115}# #{x\ 908}#) + (#{syntax-object-expression\ 116}# #{x\ 908}#) + #{x\ 908}#))) + (eq? (#{id-var-name\ 153}# #{i\ 905}# (quote (()))) + (#{id-var-name\ 153}# #{j\ 906}# (quote (())))) #f))) (#{id-var-name\ 153}# - (lambda (#{id\ 971}# #{w\ 972}#) - (letrec ((#{search-vector-rib\ 975}# - (lambda (#{sym\ 981}# - #{subst\ 982}# - #{marks\ 983}# - #{symnames\ 984}# - #{ribcage\ 985}#) - (let ((#{n\ 986}# (vector-length - #{symnames\ 984}#))) - (letrec ((#{f\ 987}# (lambda (#{i\ 988}#) + (lambda (#{id\ 909}# #{w\ 910}#) + (letrec ((#{search-vector-rib\ 913}# + (lambda (#{sym\ 919}# + #{subst\ 920}# + #{marks\ 921}# + #{symnames\ 922}# + #{ribcage\ 923}#) + (let ((#{n\ 924}# (vector-length + #{symnames\ 922}#))) + (letrec ((#{f\ 925}# (lambda (#{i\ 926}#) (if (#{fx=\ 88}# - #{i\ 988}# - #{n\ 986}#) - (#{search\ 973}# - #{sym\ 981}# - (cdr #{subst\ 982}#) - #{marks\ 983}#) + #{i\ 926}# + #{n\ 924}#) + (#{search\ 911}# + #{sym\ 919}# + (cdr #{subst\ 920}#) + #{marks\ 921}#) (if (if (eq? (vector-ref - #{symnames\ 984}# - #{i\ 988}#) - #{sym\ 981}#) + #{symnames\ 922}# + #{i\ 926}#) + #{sym\ 919}#) (#{same-marks?\ 152}# - #{marks\ 983}# + #{marks\ 921}# (vector-ref (#{ribcage-marks\ 141}# - #{ribcage\ 985}#) - #{i\ 988}#)) + #{ribcage\ 923}#) + #{i\ 926}#)) #f) (values (vector-ref (#{ribcage-labels\ 142}# - #{ribcage\ 985}#) - #{i\ 988}#) - #{marks\ 983}#) - (#{f\ 987}# (#{fx+\ 86}# - #{i\ 988}# + #{ribcage\ 923}#) + #{i\ 926}#) + #{marks\ 921}#) + (#{f\ 925}# (#{fx+\ 86}# + #{i\ 926}# 1))))))) - (#{f\ 987}# 0))))) - (#{search-list-rib\ 974}# - (lambda (#{sym\ 989}# - #{subst\ 990}# - #{marks\ 991}# - #{symnames\ 992}# - #{ribcage\ 993}#) - (letrec ((#{f\ 994}# (lambda (#{symnames\ 995}# - #{i\ 996}#) - (if (null? #{symnames\ 995}#) - (#{search\ 973}# - #{sym\ 989}# - (cdr #{subst\ 990}#) - #{marks\ 991}#) - (if (if (eq? (car #{symnames\ 995}#) - #{sym\ 989}#) + (#{f\ 925}# 0))))) + (#{search-list-rib\ 912}# + (lambda (#{sym\ 927}# + #{subst\ 928}# + #{marks\ 929}# + #{symnames\ 930}# + #{ribcage\ 931}#) + (letrec ((#{f\ 932}# (lambda (#{symnames\ 933}# + #{i\ 934}#) + (if (null? #{symnames\ 933}#) + (#{search\ 911}# + #{sym\ 927}# + (cdr #{subst\ 928}#) + #{marks\ 929}#) + (if (if (eq? (car #{symnames\ 933}#) + #{sym\ 927}#) (#{same-marks?\ 152}# - #{marks\ 991}# + #{marks\ 929}# (list-ref (#{ribcage-marks\ 141}# - #{ribcage\ 993}#) - #{i\ 996}#)) + #{ribcage\ 931}#) + #{i\ 934}#)) #f) (values (list-ref (#{ribcage-labels\ 142}# - #{ribcage\ 993}#) - #{i\ 996}#) - #{marks\ 991}#) - (#{f\ 994}# (cdr #{symnames\ 995}#) + #{ribcage\ 931}#) + #{i\ 934}#) + #{marks\ 929}#) + (#{f\ 932}# (cdr #{symnames\ 933}#) (#{fx+\ 86}# - #{i\ 996}# + #{i\ 934}# 1))))))) - (#{f\ 994}# #{symnames\ 992}# 0)))) - (#{search\ 973}# - (lambda (#{sym\ 997}# #{subst\ 998}# #{marks\ 999}#) - (if (null? #{subst\ 998}#) - (values #f #{marks\ 999}#) - (let ((#{fst\ 1000}# (car #{subst\ 998}#))) - (if (eq? #{fst\ 1000}# (quote shift)) - (#{search\ 973}# - #{sym\ 997}# - (cdr #{subst\ 998}#) - (cdr #{marks\ 999}#)) - (let ((#{symnames\ 1001}# + (#{f\ 932}# #{symnames\ 930}# 0)))) + (#{search\ 911}# + (lambda (#{sym\ 935}# #{subst\ 936}# #{marks\ 937}#) + (if (null? #{subst\ 936}#) + (values #f #{marks\ 937}#) + (let ((#{fst\ 938}# (car #{subst\ 936}#))) + (if (eq? #{fst\ 938}# (quote shift)) + (#{search\ 911}# + #{sym\ 935}# + (cdr #{subst\ 936}#) + (cdr #{marks\ 937}#)) + (let ((#{symnames\ 939}# (#{ribcage-symnames\ 140}# - #{fst\ 1000}#))) - (if (vector? #{symnames\ 1001}#) - (#{search-vector-rib\ 975}# - #{sym\ 997}# - #{subst\ 998}# - #{marks\ 999}# - #{symnames\ 1001}# - #{fst\ 1000}#) - (#{search-list-rib\ 974}# - #{sym\ 997}# - #{subst\ 998}# - #{marks\ 999}# - #{symnames\ 1001}# - #{fst\ 1000}#))))))))) - (if (symbol? #{id\ 971}#) - (let ((#{t\ 1002}# - (call-with-values - (lambda () - (#{search\ 973}# - #{id\ 971}# - (#{wrap-subst\ 135}# #{w\ 972}#) - (#{wrap-marks\ 134}# #{w\ 972}#))) - (lambda (#{x\ 1003}# . #{ignore\ 1004}#) - #{x\ 1003}#)))) - (if #{t\ 1002}# #{t\ 1002}# #{id\ 971}#)) - (if (#{syntax-object?\ 115}# #{id\ 971}#) - (let ((#{id\ 1005}# - (#{syntax-object-expression\ 116}# #{id\ 971}#)) - (#{w1\ 1006}# - (#{syntax-object-wrap\ 117}# #{id\ 971}#))) - (let ((#{marks\ 1007}# + #{fst\ 938}#))) + (if (vector? #{symnames\ 939}#) + (#{search-vector-rib\ 913}# + #{sym\ 935}# + #{subst\ 936}# + #{marks\ 937}# + #{symnames\ 939}# + #{fst\ 938}#) + (#{search-list-rib\ 912}# + #{sym\ 935}# + #{subst\ 936}# + #{marks\ 937}# + #{symnames\ 939}# + #{fst\ 938}#))))))))) + (if (symbol? #{id\ 909}#) + (let ((#{t\ 940}# (call-with-values + (lambda () + (#{search\ 911}# + #{id\ 909}# + (#{wrap-subst\ 135}# #{w\ 910}#) + (#{wrap-marks\ 134}# #{w\ 910}#))) + (lambda (#{x\ 941}# . #{ignore\ 942}#) + #{x\ 941}#)))) + (if #{t\ 940}# #{t\ 940}# #{id\ 909}#)) + (if (#{syntax-object?\ 115}# #{id\ 909}#) + (let ((#{id\ 943}# + (#{syntax-object-expression\ 116}# #{id\ 909}#)) + (#{w1\ 944}# + (#{syntax-object-wrap\ 117}# #{id\ 909}#))) + (let ((#{marks\ 945}# (#{join-marks\ 151}# - (#{wrap-marks\ 134}# #{w\ 972}#) - (#{wrap-marks\ 134}# #{w1\ 1006}#)))) + (#{wrap-marks\ 134}# #{w\ 910}#) + (#{wrap-marks\ 134}# #{w1\ 944}#)))) (call-with-values (lambda () - (#{search\ 973}# - #{id\ 1005}# - (#{wrap-subst\ 135}# #{w\ 972}#) - #{marks\ 1007}#)) - (lambda (#{new-id\ 1008}# #{marks\ 1009}#) - (let ((#{t\ 1010}# #{new-id\ 1008}#)) - (if #{t\ 1010}# - #{t\ 1010}# - (let ((#{t\ 1011}# - (call-with-values - (lambda () - (#{search\ 973}# - #{id\ 1005}# - (#{wrap-subst\ 135}# - #{w1\ 1006}#) - #{marks\ 1009}#)) - (lambda (#{x\ 1012}# - . - #{ignore\ 1013}#) - #{x\ 1012}#)))) - (if #{t\ 1011}# - #{t\ 1011}# - #{id\ 1005}#)))))))) + (#{search\ 911}# + #{id\ 943}# + (#{wrap-subst\ 135}# #{w\ 910}#) + #{marks\ 945}#)) + (lambda (#{new-id\ 946}# #{marks\ 947}#) + (let ((#{t\ 948}# #{new-id\ 946}#)) + (if #{t\ 948}# + #{t\ 948}# + (let ((#{t\ 949}# (call-with-values + (lambda () + (#{search\ 911}# + #{id\ 943}# + (#{wrap-subst\ 135}# + #{w1\ 944}#) + #{marks\ 947}#)) + (lambda (#{x\ 950}# + . + #{ignore\ 951}#) + #{x\ 950}#)))) + (if #{t\ 949}# + #{t\ 949}# + #{id\ 943}#)))))))) (syntax-violation 'id-var-name "invalid id" - #{id\ 971}#)))))) + #{id\ 909}#)))))) (#{same-marks?\ 152}# - (lambda (#{x\ 1014}# #{y\ 1015}#) - (let ((#{t\ 1016}# (eq? #{x\ 1014}# #{y\ 1015}#))) - (if #{t\ 1016}# - #{t\ 1016}# - (if (not (null? #{x\ 1014}#)) - (if (not (null? #{y\ 1015}#)) - (if (eq? (car #{x\ 1014}#) (car #{y\ 1015}#)) + (lambda (#{x\ 952}# #{y\ 953}#) + (let ((#{t\ 954}# (eq? #{x\ 952}# #{y\ 953}#))) + (if #{t\ 954}# + #{t\ 954}# + (if (not (null? #{x\ 952}#)) + (if (not (null? #{y\ 953}#)) + (if (eq? (car #{x\ 952}#) (car #{y\ 953}#)) (#{same-marks?\ 152}# - (cdr #{x\ 1014}#) - (cdr #{y\ 1015}#)) + (cdr #{x\ 952}#) + (cdr #{y\ 953}#)) #f) #f) #f))))) (#{join-marks\ 151}# - (lambda (#{m1\ 1017}# #{m2\ 1018}#) - (#{smart-append\ 149}# #{m1\ 1017}# #{m2\ 1018}#))) + (lambda (#{m1\ 955}# #{m2\ 956}#) + (#{smart-append\ 149}# #{m1\ 955}# #{m2\ 956}#))) (#{join-wraps\ 150}# - (lambda (#{w1\ 1019}# #{w2\ 1020}#) - (let ((#{m1\ 1021}# (#{wrap-marks\ 134}# #{w1\ 1019}#)) - (#{s1\ 1022}# (#{wrap-subst\ 135}# #{w1\ 1019}#))) - (if (null? #{m1\ 1021}#) - (if (null? #{s1\ 1022}#) - #{w2\ 1020}# + (lambda (#{w1\ 957}# #{w2\ 958}#) + (let ((#{m1\ 959}# (#{wrap-marks\ 134}# #{w1\ 957}#)) + (#{s1\ 960}# (#{wrap-subst\ 135}# #{w1\ 957}#))) + (if (null? #{m1\ 959}#) + (if (null? #{s1\ 960}#) + #{w2\ 958}# (#{make-wrap\ 133}# - (#{wrap-marks\ 134}# #{w2\ 1020}#) + (#{wrap-marks\ 134}# #{w2\ 958}#) (#{smart-append\ 149}# - #{s1\ 1022}# - (#{wrap-subst\ 135}# #{w2\ 1020}#)))) + #{s1\ 960}# + (#{wrap-subst\ 135}# #{w2\ 958}#)))) (#{make-wrap\ 133}# (#{smart-append\ 149}# - #{m1\ 1021}# - (#{wrap-marks\ 134}# #{w2\ 1020}#)) + #{m1\ 959}# + (#{wrap-marks\ 134}# #{w2\ 958}#)) (#{smart-append\ 149}# - #{s1\ 1022}# - (#{wrap-subst\ 135}# #{w2\ 1020}#))))))) + #{s1\ 960}# + (#{wrap-subst\ 135}# #{w2\ 958}#))))))) (#{smart-append\ 149}# - (lambda (#{m1\ 1023}# #{m2\ 1024}#) - (if (null? #{m2\ 1024}#) - #{m1\ 1023}# - (append #{m1\ 1023}# #{m2\ 1024}#)))) + (lambda (#{m1\ 961}# #{m2\ 962}#) + (if (null? #{m2\ 962}#) + #{m1\ 961}# + (append #{m1\ 961}# #{m2\ 962}#)))) (#{make-binding-wrap\ 148}# - (lambda (#{ids\ 1025}# #{labels\ 1026}# #{w\ 1027}#) - (if (null? #{ids\ 1025}#) - #{w\ 1027}# + (lambda (#{ids\ 963}# #{labels\ 964}# #{w\ 965}#) + (if (null? #{ids\ 963}#) + #{w\ 965}# (#{make-wrap\ 133}# - (#{wrap-marks\ 134}# #{w\ 1027}#) - (cons (let ((#{labelvec\ 1028}# - (list->vector #{labels\ 1026}#))) - (let ((#{n\ 1029}# - (vector-length #{labelvec\ 1028}#))) - (let ((#{symnamevec\ 1030}# - (make-vector #{n\ 1029}#)) - (#{marksvec\ 1031}# - (make-vector #{n\ 1029}#))) + (#{wrap-marks\ 134}# #{w\ 965}#) + (cons (let ((#{labelvec\ 966}# + (list->vector #{labels\ 964}#))) + (let ((#{n\ 967}# (vector-length + #{labelvec\ 966}#))) + (let ((#{symnamevec\ 968}# + (make-vector #{n\ 967}#)) + (#{marksvec\ 969}# + (make-vector #{n\ 967}#))) (begin - (letrec ((#{f\ 1032}# - (lambda (#{ids\ 1033}# #{i\ 1034}#) - (if (not (null? #{ids\ 1033}#)) - (call-with-values - (lambda () - (#{id-sym-name&marks\ 132}# - (car #{ids\ 1033}#) - #{w\ 1027}#)) - (lambda (#{symname\ 1035}# - #{marks\ 1036}#) - (begin - (vector-set! - #{symnamevec\ 1030}# - #{i\ 1034}# - #{symname\ 1035}#) - (vector-set! - #{marksvec\ 1031}# - #{i\ 1034}# - #{marks\ 1036}#) - (#{f\ 1032}# - (cdr #{ids\ 1033}#) - (#{fx+\ 86}# - #{i\ 1034}# - 1))))))))) - (#{f\ 1032}# #{ids\ 1025}# 0)) + (letrec ((#{f\ 970}# (lambda (#{ids\ 971}# + #{i\ 972}#) + (if (not (null? #{ids\ 971}#)) + (call-with-values + (lambda () + (#{id-sym-name&marks\ 132}# + (car #{ids\ 971}#) + #{w\ 965}#)) + (lambda (#{symname\ 973}# + #{marks\ 974}#) + (begin + (vector-set! + #{symnamevec\ 968}# + #{i\ 972}# + #{symname\ 973}#) + (vector-set! + #{marksvec\ 969}# + #{i\ 972}# + #{marks\ 974}#) + (#{f\ 970}# (cdr #{ids\ 971}#) + (#{fx+\ 86}# + #{i\ 972}# + 1))))))))) + (#{f\ 970}# #{ids\ 963}# 0)) (#{make-ribcage\ 138}# - #{symnamevec\ 1030}# - #{marksvec\ 1031}# - #{labelvec\ 1028}#))))) - (#{wrap-subst\ 135}# #{w\ 1027}#)))))) + #{symnamevec\ 968}# + #{marksvec\ 969}# + #{labelvec\ 966}#))))) + (#{wrap-subst\ 135}# #{w\ 965}#)))))) (#{extend-ribcage!\ 147}# - (lambda (#{ribcage\ 1037}# #{id\ 1038}# #{label\ 1039}#) + (lambda (#{ribcage\ 975}# #{id\ 976}# #{label\ 977}#) (begin (#{set-ribcage-symnames!\ 143}# - #{ribcage\ 1037}# - (cons (#{syntax-object-expression\ 116}# #{id\ 1038}#) - (#{ribcage-symnames\ 140}# #{ribcage\ 1037}#))) + #{ribcage\ 975}# + (cons (#{syntax-object-expression\ 116}# #{id\ 976}#) + (#{ribcage-symnames\ 140}# #{ribcage\ 975}#))) (#{set-ribcage-marks!\ 144}# - #{ribcage\ 1037}# + #{ribcage\ 975}# (cons (#{wrap-marks\ 134}# - (#{syntax-object-wrap\ 117}# #{id\ 1038}#)) - (#{ribcage-marks\ 141}# #{ribcage\ 1037}#))) + (#{syntax-object-wrap\ 117}# #{id\ 976}#)) + (#{ribcage-marks\ 141}# #{ribcage\ 975}#))) (#{set-ribcage-labels!\ 145}# - #{ribcage\ 1037}# - (cons #{label\ 1039}# - (#{ribcage-labels\ 142}# #{ribcage\ 1037}#)))))) + #{ribcage\ 975}# + (cons #{label\ 977}# + (#{ribcage-labels\ 142}# #{ribcage\ 975}#)))))) (#{anti-mark\ 146}# - (lambda (#{w\ 1040}#) + (lambda (#{w\ 978}#) (#{make-wrap\ 133}# - (cons #f (#{wrap-marks\ 134}# #{w\ 1040}#)) + (cons #f (#{wrap-marks\ 134}# #{w\ 978}#)) (cons 'shift - (#{wrap-subst\ 135}# #{w\ 1040}#))))) + (#{wrap-subst\ 135}# #{w\ 978}#))))) (#{set-ribcage-labels!\ 145}# - (lambda (#{x\ 1041}# #{update\ 1042}#) - (vector-set! #{x\ 1041}# 3 #{update\ 1042}#))) + (lambda (#{x\ 979}# #{update\ 980}#) + (vector-set! #{x\ 979}# 3 #{update\ 980}#))) (#{set-ribcage-marks!\ 144}# - (lambda (#{x\ 1043}# #{update\ 1044}#) - (vector-set! #{x\ 1043}# 2 #{update\ 1044}#))) + (lambda (#{x\ 981}# #{update\ 982}#) + (vector-set! #{x\ 981}# 2 #{update\ 982}#))) (#{set-ribcage-symnames!\ 143}# - (lambda (#{x\ 1045}# #{update\ 1046}#) - (vector-set! #{x\ 1045}# 1 #{update\ 1046}#))) + (lambda (#{x\ 983}# #{update\ 984}#) + (vector-set! #{x\ 983}# 1 #{update\ 984}#))) (#{ribcage-labels\ 142}# - (lambda (#{x\ 1047}#) (vector-ref #{x\ 1047}# 3))) + (lambda (#{x\ 985}#) (vector-ref #{x\ 985}# 3))) (#{ribcage-marks\ 141}# - (lambda (#{x\ 1048}#) (vector-ref #{x\ 1048}# 2))) + (lambda (#{x\ 986}#) (vector-ref #{x\ 986}# 2))) (#{ribcage-symnames\ 140}# - (lambda (#{x\ 1049}#) (vector-ref #{x\ 1049}# 1))) + (lambda (#{x\ 987}#) (vector-ref #{x\ 987}# 1))) (#{ribcage?\ 139}# - (lambda (#{x\ 1050}#) - (if (vector? #{x\ 1050}#) - (if (= (vector-length #{x\ 1050}#) 4) - (eq? (vector-ref #{x\ 1050}# 0) (quote ribcage)) + (lambda (#{x\ 988}#) + (if (vector? #{x\ 988}#) + (if (= (vector-length #{x\ 988}#) 4) + (eq? (vector-ref #{x\ 988}# 0) (quote ribcage)) #f) #f))) (#{make-ribcage\ 138}# - (lambda (#{symnames\ 1051}# - #{marks\ 1052}# - #{labels\ 1053}#) + (lambda (#{symnames\ 989}# + #{marks\ 990}# + #{labels\ 991}#) (vector 'ribcage - #{symnames\ 1051}# - #{marks\ 1052}# - #{labels\ 1053}#))) + #{symnames\ 989}# + #{marks\ 990}# + #{labels\ 991}#))) (#{gen-labels\ 137}# - (lambda (#{ls\ 1054}#) - (if (null? #{ls\ 1054}#) + (lambda (#{ls\ 992}#) + (if (null? #{ls\ 992}#) '() (cons (#{gen-label\ 136}#) - (#{gen-labels\ 137}# (cdr #{ls\ 1054}#)))))) + (#{gen-labels\ 137}# (cdr #{ls\ 992}#)))))) (#{gen-label\ 136}# (lambda () (string #\i))) (#{wrap-subst\ 135}# cdr) (#{wrap-marks\ 134}# car) (#{make-wrap\ 133}# cons) (#{id-sym-name&marks\ 132}# - (lambda (#{x\ 1055}# #{w\ 1056}#) - (if (#{syntax-object?\ 115}# #{x\ 1055}#) + (lambda (#{x\ 993}# #{w\ 994}#) + (if (#{syntax-object?\ 115}# #{x\ 993}#) (values - (#{syntax-object-expression\ 116}# #{x\ 1055}#) + (#{syntax-object-expression\ 116}# #{x\ 993}#) (#{join-marks\ 151}# - (#{wrap-marks\ 134}# #{w\ 1056}#) + (#{wrap-marks\ 134}# #{w\ 994}#) (#{wrap-marks\ 134}# - (#{syntax-object-wrap\ 117}# #{x\ 1055}#)))) + (#{syntax-object-wrap\ 117}# #{x\ 993}#)))) (values - #{x\ 1055}# - (#{wrap-marks\ 134}# #{w\ 1056}#))))) + #{x\ 993}# + (#{wrap-marks\ 134}# #{w\ 994}#))))) (#{id?\ 131}# - (lambda (#{x\ 1057}#) - (if (symbol? #{x\ 1057}#) + (lambda (#{x\ 995}#) + (if (symbol? #{x\ 995}#) #t - (if (#{syntax-object?\ 115}# #{x\ 1057}#) + (if (#{syntax-object?\ 115}# #{x\ 995}#) (symbol? - (#{syntax-object-expression\ 116}# #{x\ 1057}#)) + (#{syntax-object-expression\ 116}# #{x\ 995}#)) #f)))) (#{nonsymbol-id?\ 130}# - (lambda (#{x\ 1058}#) - (if (#{syntax-object?\ 115}# #{x\ 1058}#) + (lambda (#{x\ 996}#) + (if (#{syntax-object?\ 115}# #{x\ 996}#) (symbol? - (#{syntax-object-expression\ 116}# #{x\ 1058}#)) + (#{syntax-object-expression\ 116}# #{x\ 996}#)) #f))) (#{global-extend\ 129}# - (lambda (#{type\ 1059}# #{sym\ 1060}# #{val\ 1061}#) + (lambda (#{type\ 997}# #{sym\ 998}# #{val\ 999}#) (#{put-global-definition-hook\ 92}# - #{sym\ 1060}# - #{type\ 1059}# - #{val\ 1061}#))) + #{sym\ 998}# + #{type\ 997}# + #{val\ 999}#))) (#{lookup\ 128}# - (lambda (#{x\ 1062}# #{r\ 1063}# #{mod\ 1064}#) - (let ((#{t\ 1065}# (assq #{x\ 1062}# #{r\ 1063}#))) - (if #{t\ 1065}# - (cdr #{t\ 1065}#) - (if (symbol? #{x\ 1062}#) - (let ((#{t\ 1066}# + (lambda (#{x\ 1000}# #{r\ 1001}# #{mod\ 1002}#) + (let ((#{t\ 1003}# (assq #{x\ 1000}# #{r\ 1001}#))) + (if #{t\ 1003}# + (cdr #{t\ 1003}#) + (if (symbol? #{x\ 1000}#) + (let ((#{t\ 1004}# (#{get-global-definition-hook\ 93}# - #{x\ 1062}# - #{mod\ 1064}#))) - (if #{t\ 1066}# #{t\ 1066}# (quote (global)))) + #{x\ 1000}# + #{mod\ 1002}#))) + (if #{t\ 1004}# #{t\ 1004}# (quote (global)))) '(displaced-lexical)))))) (#{macros-only-env\ 127}# - (lambda (#{r\ 1067}#) - (if (null? #{r\ 1067}#) + (lambda (#{r\ 1005}#) + (if (null? #{r\ 1005}#) '() - (let ((#{a\ 1068}# (car #{r\ 1067}#))) - (if (eq? (cadr #{a\ 1068}#) (quote macro)) - (cons #{a\ 1068}# - (#{macros-only-env\ 127}# (cdr #{r\ 1067}#))) - (#{macros-only-env\ 127}# (cdr #{r\ 1067}#))))))) + (let ((#{a\ 1006}# (car #{r\ 1005}#))) + (if (eq? (cadr #{a\ 1006}#) (quote macro)) + (cons #{a\ 1006}# + (#{macros-only-env\ 127}# (cdr #{r\ 1005}#))) + (#{macros-only-env\ 127}# (cdr #{r\ 1005}#))))))) (#{extend-var-env\ 126}# - (lambda (#{labels\ 1069}# #{vars\ 1070}# #{r\ 1071}#) - (if (null? #{labels\ 1069}#) - #{r\ 1071}# + (lambda (#{labels\ 1007}# #{vars\ 1008}# #{r\ 1009}#) + (if (null? #{labels\ 1007}#) + #{r\ 1009}# (#{extend-var-env\ 126}# - (cdr #{labels\ 1069}#) - (cdr #{vars\ 1070}#) - (cons (cons (car #{labels\ 1069}#) - (cons (quote lexical) (car #{vars\ 1070}#))) - #{r\ 1071}#))))) + (cdr #{labels\ 1007}#) + (cdr #{vars\ 1008}#) + (cons (cons (car #{labels\ 1007}#) + (cons (quote lexical) (car #{vars\ 1008}#))) + #{r\ 1009}#))))) (#{extend-env\ 125}# - (lambda (#{labels\ 1072}# #{bindings\ 1073}# #{r\ 1074}#) - (if (null? #{labels\ 1072}#) - #{r\ 1074}# + (lambda (#{labels\ 1010}# #{bindings\ 1011}# #{r\ 1012}#) + (if (null? #{labels\ 1010}#) + #{r\ 1012}# (#{extend-env\ 125}# - (cdr #{labels\ 1072}#) - (cdr #{bindings\ 1073}#) - (cons (cons (car #{labels\ 1072}#) - (car #{bindings\ 1073}#)) - #{r\ 1074}#))))) + (cdr #{labels\ 1010}#) + (cdr #{bindings\ 1011}#) + (cons (cons (car #{labels\ 1010}#) + (car #{bindings\ 1011}#)) + #{r\ 1012}#))))) (#{binding-value\ 124}# cdr) (#{binding-type\ 123}# car) (#{source-annotation\ 122}# - (lambda (#{x\ 1075}#) - (if (#{syntax-object?\ 115}# #{x\ 1075}#) + (lambda (#{x\ 1013}#) + (if (#{syntax-object?\ 115}# #{x\ 1013}#) (#{source-annotation\ 122}# - (#{syntax-object-expression\ 116}# #{x\ 1075}#)) - (if (pair? #{x\ 1075}#) - (let ((#{props\ 1076}# (source-properties #{x\ 1075}#))) - (if (pair? #{props\ 1076}#) #{props\ 1076}# #f)) + (#{syntax-object-expression\ 116}# #{x\ 1013}#)) + (if (pair? #{x\ 1013}#) + (let ((#{props\ 1014}# (source-properties #{x\ 1013}#))) + (if (pair? #{props\ 1014}#) #{props\ 1014}# #f)) #f)))) (#{set-syntax-object-module!\ 121}# - (lambda (#{x\ 1077}# #{update\ 1078}#) - (vector-set! #{x\ 1077}# 3 #{update\ 1078}#))) + (lambda (#{x\ 1015}# #{update\ 1016}#) + (vector-set! #{x\ 1015}# 3 #{update\ 1016}#))) (#{set-syntax-object-wrap!\ 120}# - (lambda (#{x\ 1079}# #{update\ 1080}#) - (vector-set! #{x\ 1079}# 2 #{update\ 1080}#))) + (lambda (#{x\ 1017}# #{update\ 1018}#) + (vector-set! #{x\ 1017}# 2 #{update\ 1018}#))) (#{set-syntax-object-expression!\ 119}# - (lambda (#{x\ 1081}# #{update\ 1082}#) - (vector-set! #{x\ 1081}# 1 #{update\ 1082}#))) + (lambda (#{x\ 1019}# #{update\ 1020}#) + (vector-set! #{x\ 1019}# 1 #{update\ 1020}#))) (#{syntax-object-module\ 118}# - (lambda (#{x\ 1083}#) (vector-ref #{x\ 1083}# 3))) + (lambda (#{x\ 1021}#) (vector-ref #{x\ 1021}# 3))) (#{syntax-object-wrap\ 117}# - (lambda (#{x\ 1084}#) (vector-ref #{x\ 1084}# 2))) + (lambda (#{x\ 1022}#) (vector-ref #{x\ 1022}# 2))) (#{syntax-object-expression\ 116}# - (lambda (#{x\ 1085}#) (vector-ref #{x\ 1085}# 1))) + (lambda (#{x\ 1023}#) (vector-ref #{x\ 1023}# 1))) (#{syntax-object?\ 115}# - (lambda (#{x\ 1086}#) - (if (vector? #{x\ 1086}#) - (if (= (vector-length #{x\ 1086}#) 4) - (eq? (vector-ref #{x\ 1086}# 0) + (lambda (#{x\ 1024}#) + (if (vector? #{x\ 1024}#) + (if (= (vector-length #{x\ 1024}#) 4) + (eq? (vector-ref #{x\ 1024}# 0) 'syntax-object) #f) #f))) (#{make-syntax-object\ 114}# - (lambda (#{expression\ 1087}# - #{wrap\ 1088}# - #{module\ 1089}#) + (lambda (#{expression\ 1025}# + #{wrap\ 1026}# + #{module\ 1027}#) (vector 'syntax-object - #{expression\ 1087}# - #{wrap\ 1088}# - #{module\ 1089}#))) + #{expression\ 1025}# + #{wrap\ 1026}# + #{module\ 1027}#))) (#{build-letrec\ 113}# - (lambda (#{src\ 1090}# - #{ids\ 1091}# - #{vars\ 1092}# - #{val-exps\ 1093}# - #{body-exp\ 1094}#) - (if (null? #{vars\ 1092}#) - #{body-exp\ 1094}# - (let ((#{atom-key\ 1095}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1095}# (quote (c))) + (lambda (#{src\ 1028}# + #{ids\ 1029}# + #{vars\ 1030}# + #{val-exps\ 1031}# + #{body-exp\ 1032}#) + (if (null? #{vars\ 1030}#) + #{body-exp\ 1032}# + (let ((#{atom-key\ 1033}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1033}# (quote (c))) (begin (for-each #{maybe-name-value!\ 103}# - #{ids\ 1091}# - #{val-exps\ 1093}#) + #{ids\ 1029}# + #{val-exps\ 1031}#) ((@ (language tree-il) make-letrec) - #{src\ 1090}# - #{ids\ 1091}# - #{vars\ 1092}# - #{val-exps\ 1093}# - #{body-exp\ 1094}#)) + #{src\ 1028}# + #{ids\ 1029}# + #{vars\ 1030}# + #{val-exps\ 1031}# + #{body-exp\ 1032}#)) (#{decorate-source\ 94}# (list 'letrec - (map list #{vars\ 1092}# #{val-exps\ 1093}#) - #{body-exp\ 1094}#) - #{src\ 1090}#)))))) + (map list #{vars\ 1030}# #{val-exps\ 1031}#) + #{body-exp\ 1032}#) + #{src\ 1028}#)))))) (#{build-named-let\ 112}# - (lambda (#{src\ 1096}# - #{ids\ 1097}# - #{vars\ 1098}# - #{val-exps\ 1099}# - #{body-exp\ 1100}#) - (let ((#{f\ 1101}# (car #{vars\ 1098}#)) - (#{f-name\ 1102}# (car #{ids\ 1097}#)) - (#{vars\ 1103}# (cdr #{vars\ 1098}#)) - (#{ids\ 1104}# (cdr #{ids\ 1097}#))) - (let ((#{atom-key\ 1105}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1105}# (quote (c))) - (let ((#{proc\ 1106}# + (lambda (#{src\ 1034}# + #{ids\ 1035}# + #{vars\ 1036}# + #{val-exps\ 1037}# + #{body-exp\ 1038}#) + (let ((#{f\ 1039}# (car #{vars\ 1036}#)) + (#{f-name\ 1040}# (car #{ids\ 1035}#)) + (#{vars\ 1041}# (cdr #{vars\ 1036}#)) + (#{ids\ 1042}# (cdr #{ids\ 1035}#))) + (let ((#{atom-key\ 1043}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1043}# (quote (c))) + (let ((#{proc\ 1044}# (#{build-simple-lambda\ 105}# - #{src\ 1096}# - #{ids\ 1104}# + #{src\ 1034}# + #{ids\ 1042}# #f - #{vars\ 1103}# + #{vars\ 1041}# #f - #{body-exp\ 1100}#))) + #{body-exp\ 1038}#))) (begin (#{maybe-name-value!\ 103}# - #{f-name\ 1102}# - #{proc\ 1106}#) + #{f-name\ 1040}# + #{proc\ 1044}#) (for-each #{maybe-name-value!\ 103}# - #{ids\ 1104}# - #{val-exps\ 1099}#) + #{ids\ 1042}# + #{val-exps\ 1037}#) ((@ (language tree-il) make-letrec) - #{src\ 1096}# - (list #{f-name\ 1102}#) - (list #{f\ 1101}#) - (list #{proc\ 1106}#) + #{src\ 1034}# + (list #{f-name\ 1040}#) + (list #{f\ 1039}#) + (list #{proc\ 1044}#) (#{build-application\ 96}# - #{src\ 1096}# + #{src\ 1034}# (#{build-lexical-reference\ 98}# 'fun - #{src\ 1096}# - #{f-name\ 1102}# - #{f\ 1101}#) - #{val-exps\ 1099}#)))) + #{src\ 1034}# + #{f-name\ 1040}# + #{f\ 1039}#) + #{val-exps\ 1037}#)))) (#{decorate-source\ 94}# (list 'let - #{f\ 1101}# - (map list #{vars\ 1103}# #{val-exps\ 1099}#) - #{body-exp\ 1100}#) - #{src\ 1096}#)))))) + #{f\ 1039}# + (map list #{vars\ 1041}# #{val-exps\ 1037}#) + #{body-exp\ 1038}#) + #{src\ 1034}#)))))) (#{build-let\ 111}# - (lambda (#{src\ 1107}# - #{ids\ 1108}# - #{vars\ 1109}# - #{val-exps\ 1110}# - #{body-exp\ 1111}#) - (if (null? #{vars\ 1109}#) - #{body-exp\ 1111}# - (let ((#{atom-key\ 1112}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1112}# (quote (c))) + (lambda (#{src\ 1045}# + #{ids\ 1046}# + #{vars\ 1047}# + #{val-exps\ 1048}# + #{body-exp\ 1049}#) + (if (null? #{vars\ 1047}#) + #{body-exp\ 1049}# + (let ((#{atom-key\ 1050}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1050}# (quote (c))) (begin (for-each #{maybe-name-value!\ 103}# - #{ids\ 1108}# - #{val-exps\ 1110}#) + #{ids\ 1046}# + #{val-exps\ 1048}#) ((@ (language tree-il) make-let) - #{src\ 1107}# - #{ids\ 1108}# - #{vars\ 1109}# - #{val-exps\ 1110}# - #{body-exp\ 1111}#)) + #{src\ 1045}# + #{ids\ 1046}# + #{vars\ 1047}# + #{val-exps\ 1048}# + #{body-exp\ 1049}#)) (#{decorate-source\ 94}# (list 'let - (map list #{vars\ 1109}# #{val-exps\ 1110}#) - #{body-exp\ 1111}#) - #{src\ 1107}#)))))) + (map list #{vars\ 1047}# #{val-exps\ 1048}#) + #{body-exp\ 1049}#) + #{src\ 1045}#)))))) (#{build-sequence\ 110}# - (lambda (#{src\ 1113}# #{exps\ 1114}#) - (if (null? (cdr #{exps\ 1114}#)) - (car #{exps\ 1114}#) - (let ((#{atom-key\ 1115}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1115}# (quote (c))) + (lambda (#{src\ 1051}# #{exps\ 1052}#) + (if (null? (cdr #{exps\ 1052}#)) + (car #{exps\ 1052}#) + (let ((#{atom-key\ 1053}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1053}# (quote (c))) ((@ (language tree-il) make-sequence) - #{src\ 1113}# - #{exps\ 1114}#) + #{src\ 1051}# + #{exps\ 1052}#) (#{decorate-source\ 94}# - (cons (quote begin) #{exps\ 1114}#) - #{src\ 1113}#)))))) + (cons (quote begin) #{exps\ 1052}#) + #{src\ 1051}#)))))) (#{build-data\ 109}# - (lambda (#{src\ 1116}# #{exp\ 1117}#) - (let ((#{atom-key\ 1118}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1118}# (quote (c))) + (lambda (#{src\ 1054}# #{exp\ 1055}#) + (let ((#{atom-key\ 1056}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1056}# (quote (c))) ((@ (language tree-il) make-const) - #{src\ 1116}# - #{exp\ 1117}#) + #{src\ 1054}# + #{exp\ 1055}#) (#{decorate-source\ 94}# - (if (if (self-evaluating? #{exp\ 1117}#) - (not (vector? #{exp\ 1117}#)) + (if (if (self-evaluating? #{exp\ 1055}#) + (not (vector? #{exp\ 1055}#)) #f) - #{exp\ 1117}# - (list (quote quote) #{exp\ 1117}#)) - #{src\ 1116}#))))) + #{exp\ 1055}# + (list (quote quote) #{exp\ 1055}#)) + #{src\ 1054}#))))) (#{build-primref\ 108}# - (lambda (#{src\ 1119}# #{name\ 1120}#) + (lambda (#{src\ 1057}# #{name\ 1058}#) (if (equal? (module-name (current-module)) '(guile)) - (let ((#{atom-key\ 1121}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1121}# (quote (c))) + (let ((#{atom-key\ 1059}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1059}# (quote (c))) ((@ (language tree-il) make-toplevel-ref) - #{src\ 1119}# - #{name\ 1120}#) + #{src\ 1057}# + #{name\ 1058}#) (#{decorate-source\ 94}# - #{name\ 1120}# - #{src\ 1119}#))) - (let ((#{atom-key\ 1122}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1122}# (quote (c))) + #{name\ 1058}# + #{src\ 1057}#))) + (let ((#{atom-key\ 1060}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1060}# (quote (c))) ((@ (language tree-il) make-module-ref) - #{src\ 1119}# + #{src\ 1057}# '(guile) - #{name\ 1120}# + #{name\ 1058}# #f) (#{decorate-source\ 94}# - (list (quote @@) (quote (guile)) #{name\ 1120}#) - #{src\ 1119}#)))))) + (list (quote @@) (quote (guile)) #{name\ 1058}#) + #{src\ 1057}#)))))) (#{build-lambda-case\ 107}# - (lambda (#{src\ 1123}# - #{req\ 1124}# - #{opt\ 1125}# - #{rest\ 1126}# - #{kw\ 1127}# - #{inits\ 1128}# - #{vars\ 1129}# - #{predicate\ 1130}# - #{body\ 1131}# - #{else-case\ 1132}#) - (let ((#{atom-key\ 1133}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1133}# (quote (c))) + (lambda (#{src\ 1061}# + #{req\ 1062}# + #{opt\ 1063}# + #{rest\ 1064}# + #{kw\ 1065}# + #{inits\ 1066}# + #{vars\ 1067}# + #{body\ 1068}# + #{else-case\ 1069}#) + (let ((#{atom-key\ 1070}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1070}# (quote (c))) ((@ (language tree-il) make-lambda-case) - #{src\ 1123}# - #{req\ 1124}# - #{opt\ 1125}# - #{rest\ 1126}# - #{kw\ 1127}# - #{inits\ 1128}# - #{vars\ 1129}# - #{predicate\ 1130}# - #{body\ 1131}# - #{else-case\ 1132}#) - (let ((#{nreq\ 1134}# (length #{req\ 1124}#))) - (let ((#{nopt\ 1135}# - (if #{opt\ 1125}# (length #{opt\ 1125}#) 0))) - (let ((#{rest-idx\ 1136}# - (if #{rest\ 1126}# - (+ #{nreq\ 1134}# #{nopt\ 1135}#) + #{src\ 1061}# + #{req\ 1062}# + #{opt\ 1063}# + #{rest\ 1064}# + #{kw\ 1065}# + #{inits\ 1066}# + #{vars\ 1067}# + #{body\ 1068}# + #{else-case\ 1069}#) + (let ((#{nreq\ 1071}# (length #{req\ 1062}#))) + (let ((#{nopt\ 1072}# + (if #{opt\ 1063}# (length #{opt\ 1063}#) 0))) + (let ((#{rest-idx\ 1073}# + (if #{rest\ 1064}# + (+ #{nreq\ 1071}# #{nopt\ 1072}#) #f))) - (let ((#{allow-other-keys?\ 1137}# - (if #{kw\ 1127}# (car #{kw\ 1127}#) #f))) - (let ((#{kw-indices\ 1138}# - (map (lambda (#{x\ 1139}#) - (cons (car #{x\ 1139}#) + (let ((#{allow-other-keys?\ 1074}# + (if #{kw\ 1065}# (car #{kw\ 1065}#) #f))) + (let ((#{kw-indices\ 1075}# + (map (lambda (#{x\ 1076}#) + (cons (car #{x\ 1076}#) (list-index - #{vars\ 1129}# - (caddr #{x\ 1139}#)))) - (if #{kw\ 1127}# - (cdr #{kw\ 1127}#) + #{vars\ 1067}# + (caddr #{x\ 1076}#)))) + (if #{kw\ 1065}# + (cdr #{kw\ 1065}#) '())))) - (let ((#{nargs\ 1140}# + (let ((#{nargs\ 1077}# (apply max - (+ #{nreq\ 1134}# - #{nopt\ 1135}# - (if #{rest\ 1126}# 1 0)) + (+ #{nreq\ 1071}# + #{nopt\ 1072}# + (if #{rest\ 1064}# 1 0)) (map 1+ (map cdr - #{kw-indices\ 1138}#))))) + #{kw-indices\ 1075}#))))) (begin - (let ((#{t\ 1141}# - (= #{nargs\ 1140}# - (length #{vars\ 1129}#) - (+ #{nreq\ 1134}# - (length #{inits\ 1128}#) - (if #{rest\ 1126}# 1 0))))) - (if #{t\ 1141}# - #{t\ 1141}# + (let ((#{t\ 1078}# + (= #{nargs\ 1077}# + (length #{vars\ 1067}#) + (+ #{nreq\ 1071}# + (length #{inits\ 1066}#) + (if #{rest\ 1064}# 1 0))))) + (if #{t\ 1078}# + #{t\ 1078}# (error "something went wrong" - #{req\ 1124}# - #{opt\ 1125}# - #{rest\ 1126}# - #{kw\ 1127}# - #{inits\ 1128}# - #{vars\ 1129}# - #{nreq\ 1134}# - #{nopt\ 1135}# - #{kw-indices\ 1138}# - #{nargs\ 1140}#))) + #{req\ 1062}# + #{opt\ 1063}# + #{rest\ 1064}# + #{kw\ 1065}# + #{inits\ 1066}# + #{vars\ 1067}# + #{nreq\ 1071}# + #{nopt\ 1072}# + #{kw-indices\ 1075}# + #{nargs\ 1077}#))) (#{decorate-source\ 94}# (cons (list (cons '(@@ (ice-9 optargs) parse-lambda-case) (cons (list 'quote - (list #{nreq\ 1134}# - #{nopt\ 1135}# - #{rest-idx\ 1136}# - #{nargs\ 1140}# - #{allow-other-keys?\ 1137}# - #{kw-indices\ 1138}#)) + (list #{nreq\ 1071}# + #{nopt\ 1072}# + #{rest-idx\ 1073}# + #{nargs\ 1077}# + #{allow-other-keys?\ 1074}# + #{kw-indices\ 1075}#)) (cons (cons 'list - (map (lambda (#{i\ 1142}#) + (map (lambda (#{i\ 1079}#) (list 'lambda - #{vars\ 1129}# - #{i\ 1142}#)) - #{inits\ 1128}#)) - (cons (if #{predicate\ 1130}# - (list 'lambda - #{vars\ 1129}# - #{predicate\ 1130}#) - #f) - '(%%args))))) + #{vars\ 1067}# + #{i\ 1079}#)) + #{inits\ 1066}#)) + '(%%args)))) '=> (list 'lambda '(%%%args . _) (cons 'apply (cons (list 'lambda - #{vars\ 1129}# - #{body\ 1131}#) + #{vars\ 1067}# + #{body\ 1068}#) '(%%%args))))) - (let ((#{t\ 1143}# - #{else-case\ 1132}#)) - (if #{t\ 1143}# - #{t\ 1143}# + (let ((#{t\ 1080}# + #{else-case\ 1069}#)) + (if #{t\ 1080}# + #{t\ 1080}# '((%%args (error "wrong number of arguments" %%args)))))) - #{src\ 1123}#)))))))))))) + #{src\ 1061}#)))))))))))) (#{build-case-lambda\ 106}# - (lambda (#{src\ 1144}# - #{docstring\ 1145}# - #{body\ 1146}#) - (let ((#{atom-key\ 1147}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1147}# (quote (c))) + (lambda (#{src\ 1081}# + #{docstring\ 1082}# + #{body\ 1083}#) + (let ((#{atom-key\ 1084}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1084}# (quote (c))) ((@ (language tree-il) make-lambda) - #{src\ 1144}# - (if #{docstring\ 1145}# - (list (cons (quote documentation) #{docstring\ 1145}#)) + #{src\ 1081}# + (if #{docstring\ 1082}# + (list (cons (quote documentation) #{docstring\ 1082}#)) '()) - #{body\ 1146}#) + #{body\ 1083}#) (#{decorate-source\ 94}# (cons 'lambda (cons '%%args (append - (if #{docstring\ 1145}# - (list #{docstring\ 1145}#) + (if #{docstring\ 1082}# + (list #{docstring\ 1082}#) '()) - (list (cons (quote cond) #{body\ 1146}#))))) - #{src\ 1144}#))))) + (list (cons (quote cond) #{body\ 1083}#))))) + #{src\ 1081}#))))) (#{build-simple-lambda\ 105}# - (lambda (#{src\ 1148}# - #{req\ 1149}# - #{rest\ 1150}# - #{vars\ 1151}# - #{docstring\ 1152}# - #{exp\ 1153}#) - (let ((#{atom-key\ 1154}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1154}# (quote (c))) + (lambda (#{src\ 1085}# + #{req\ 1086}# + #{rest\ 1087}# + #{vars\ 1088}# + #{docstring\ 1089}# + #{exp\ 1090}#) + (let ((#{atom-key\ 1091}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1091}# (quote (c))) ((@ (language tree-il) make-lambda) - #{src\ 1148}# - (if #{docstring\ 1152}# - (list (cons (quote documentation) #{docstring\ 1152}#)) + #{src\ 1085}# + (if #{docstring\ 1089}# + (list (cons (quote documentation) #{docstring\ 1089}#)) '()) ((@ (language tree-il) make-lambda-case) - #{src\ 1148}# - #{req\ 1149}# + #{src\ 1085}# + #{req\ 1086}# #f - #{rest\ 1150}# + #{rest\ 1087}# #f '() - #{vars\ 1151}# - #f - #{exp\ 1153}# + #{vars\ 1088}# + #{exp\ 1090}# #f)) (#{decorate-source\ 94}# (cons 'lambda - (cons (if #{rest\ 1150}# - (apply cons* #{vars\ 1151}#) - #{vars\ 1151}#) + (cons (if #{rest\ 1087}# + (apply cons* #{vars\ 1088}#) + #{vars\ 1088}#) (append - (if #{docstring\ 1152}# - (list #{docstring\ 1152}#) + (if #{docstring\ 1089}# + (list #{docstring\ 1089}#) '()) - (list #{exp\ 1153}#)))) - #{src\ 1148}#))))) + (list #{exp\ 1090}#)))) + #{src\ 1085}#))))) (#{build-global-definition\ 104}# - (lambda (#{source\ 1155}# #{var\ 1156}# #{exp\ 1157}#) - (let ((#{atom-key\ 1158}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1158}# (quote (c))) + (lambda (#{source\ 1092}# #{var\ 1093}# #{exp\ 1094}#) + (let ((#{atom-key\ 1095}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1095}# (quote (c))) (begin (#{maybe-name-value!\ 103}# - #{var\ 1156}# - #{exp\ 1157}#) + #{var\ 1093}# + #{exp\ 1094}#) ((@ (language tree-il) make-toplevel-define) - #{source\ 1155}# - #{var\ 1156}# - #{exp\ 1157}#)) + #{source\ 1092}# + #{var\ 1093}# + #{exp\ 1094}#)) (#{decorate-source\ 94}# - (list (quote define) #{var\ 1156}# #{exp\ 1157}#) - #{source\ 1155}#))))) + (list (quote define) #{var\ 1093}# #{exp\ 1094}#) + #{source\ 1092}#))))) (#{maybe-name-value!\ 103}# - (lambda (#{name\ 1159}# #{val\ 1160}#) - (if ((@ (language tree-il) lambda?) #{val\ 1160}#) - (let ((#{meta\ 1161}# + (lambda (#{name\ 1096}# #{val\ 1097}#) + (if ((@ (language tree-il) lambda?) #{val\ 1097}#) + (let ((#{meta\ 1098}# ((@ (language tree-il) lambda-meta) - #{val\ 1160}#))) - (if (not (assq (quote name) #{meta\ 1161}#)) + #{val\ 1097}#))) + (if (not (assq (quote name) #{meta\ 1098}#)) ((setter (@ (language tree-il) lambda-meta)) - #{val\ 1160}# + #{val\ 1097}# (acons 'name - #{name\ 1159}# - #{meta\ 1161}#))))))) + #{name\ 1096}# + #{meta\ 1098}#))))))) (#{build-global-assignment\ 102}# - (lambda (#{source\ 1162}# - #{var\ 1163}# - #{exp\ 1164}# - #{mod\ 1165}#) + (lambda (#{source\ 1099}# + #{var\ 1100}# + #{exp\ 1101}# + #{mod\ 1102}#) (#{analyze-variable\ 100}# - #{mod\ 1165}# - #{var\ 1163}# - (lambda (#{mod\ 1166}# #{var\ 1167}# #{public?\ 1168}#) - (let ((#{atom-key\ 1169}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1169}# (quote (c))) + #{mod\ 1102}# + #{var\ 1100}# + (lambda (#{mod\ 1103}# #{var\ 1104}# #{public?\ 1105}#) + (let ((#{atom-key\ 1106}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1106}# (quote (c))) ((@ (language tree-il) make-module-set) - #{source\ 1162}# - #{mod\ 1166}# - #{var\ 1167}# - #{public?\ 1168}# - #{exp\ 1164}#) + #{source\ 1099}# + #{mod\ 1103}# + #{var\ 1104}# + #{public?\ 1105}# + #{exp\ 1101}#) (#{decorate-source\ 94}# (list 'set! - (list (if #{public?\ 1168}# + (list (if #{public?\ 1105}# '@ '@@) - #{mod\ 1166}# - #{var\ 1167}#) - #{exp\ 1164}#) - #{source\ 1162}#)))) - (lambda (#{var\ 1170}#) - (let ((#{atom-key\ 1171}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1171}# (quote (c))) + #{mod\ 1103}# + #{var\ 1104}#) + #{exp\ 1101}#) + #{source\ 1099}#)))) + (lambda (#{var\ 1107}#) + (let ((#{atom-key\ 1108}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1108}# (quote (c))) ((@ (language tree-il) make-toplevel-set) - #{source\ 1162}# - #{var\ 1170}# - #{exp\ 1164}#) + #{source\ 1099}# + #{var\ 1107}# + #{exp\ 1101}#) (#{decorate-source\ 94}# - (list (quote set!) #{var\ 1170}# #{exp\ 1164}#) - #{source\ 1162}#))))))) + (list (quote set!) #{var\ 1107}# #{exp\ 1101}#) + #{source\ 1099}#))))))) (#{build-global-reference\ 101}# - (lambda (#{source\ 1172}# #{var\ 1173}# #{mod\ 1174}#) + (lambda (#{source\ 1109}# #{var\ 1110}# #{mod\ 1111}#) (#{analyze-variable\ 100}# - #{mod\ 1174}# - #{var\ 1173}# - (lambda (#{mod\ 1175}# #{var\ 1176}# #{public?\ 1177}#) - (let ((#{atom-key\ 1178}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1178}# (quote (c))) + #{mod\ 1111}# + #{var\ 1110}# + (lambda (#{mod\ 1112}# #{var\ 1113}# #{public?\ 1114}#) + (let ((#{atom-key\ 1115}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1115}# (quote (c))) ((@ (language tree-il) make-module-ref) - #{source\ 1172}# - #{mod\ 1175}# - #{var\ 1176}# - #{public?\ 1177}#) + #{source\ 1109}# + #{mod\ 1112}# + #{var\ 1113}# + #{public?\ 1114}#) (#{decorate-source\ 94}# - (list (if #{public?\ 1177}# (quote @) (quote @@)) - #{mod\ 1175}# - #{var\ 1176}#) - #{source\ 1172}#)))) - (lambda (#{var\ 1179}#) - (let ((#{atom-key\ 1180}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1180}# (quote (c))) + (list (if #{public?\ 1114}# (quote @) (quote @@)) + #{mod\ 1112}# + #{var\ 1113}#) + #{source\ 1109}#)))) + (lambda (#{var\ 1116}#) + (let ((#{atom-key\ 1117}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1117}# (quote (c))) ((@ (language tree-il) make-toplevel-ref) - #{source\ 1172}# - #{var\ 1179}#) + #{source\ 1109}# + #{var\ 1116}#) (#{decorate-source\ 94}# - #{var\ 1179}# - #{source\ 1172}#))))))) + #{var\ 1116}# + #{source\ 1109}#))))))) (#{analyze-variable\ 100}# - (lambda (#{mod\ 1181}# - #{var\ 1182}# - #{modref-cont\ 1183}# - #{bare-cont\ 1184}#) - (if (not #{mod\ 1181}#) - (#{bare-cont\ 1184}# #{var\ 1182}#) - (let ((#{kind\ 1185}# (car #{mod\ 1181}#)) - (#{mod\ 1186}# (cdr #{mod\ 1181}#))) - (if (memv #{kind\ 1185}# (quote (public))) - (#{modref-cont\ 1183}# - #{mod\ 1186}# - #{var\ 1182}# + (lambda (#{mod\ 1118}# + #{var\ 1119}# + #{modref-cont\ 1120}# + #{bare-cont\ 1121}#) + (if (not #{mod\ 1118}#) + (#{bare-cont\ 1121}# #{var\ 1119}#) + (let ((#{kind\ 1122}# (car #{mod\ 1118}#)) + (#{mod\ 1123}# (cdr #{mod\ 1118}#))) + (if (memv #{kind\ 1122}# (quote (public))) + (#{modref-cont\ 1120}# + #{mod\ 1123}# + #{var\ 1119}# #t) - (if (memv #{kind\ 1185}# (quote (private))) + (if (memv #{kind\ 1122}# (quote (private))) (if (not (equal? - #{mod\ 1186}# + #{mod\ 1123}# (module-name (current-module)))) - (#{modref-cont\ 1183}# - #{mod\ 1186}# - #{var\ 1182}# + (#{modref-cont\ 1120}# + #{mod\ 1123}# + #{var\ 1119}# #f) - (#{bare-cont\ 1184}# #{var\ 1182}#)) - (if (memv #{kind\ 1185}# (quote (bare))) - (#{bare-cont\ 1184}# #{var\ 1182}#) - (if (memv #{kind\ 1185}# (quote (hygiene))) + (#{bare-cont\ 1121}# #{var\ 1119}#)) + (if (memv #{kind\ 1122}# (quote (bare))) + (#{bare-cont\ 1121}# #{var\ 1119}#) + (if (memv #{kind\ 1122}# (quote (hygiene))) (if (if (not (equal? - #{mod\ 1186}# + #{mod\ 1123}# (module-name (current-module)))) (module-variable - (resolve-module #{mod\ 1186}#) - #{var\ 1182}#) + (resolve-module #{mod\ 1123}#) + #{var\ 1119}#) #f) - (#{modref-cont\ 1183}# - #{mod\ 1186}# - #{var\ 1182}# + (#{modref-cont\ 1120}# + #{mod\ 1123}# + #{var\ 1119}# #f) - (#{bare-cont\ 1184}# #{var\ 1182}#)) + (#{bare-cont\ 1121}# #{var\ 1119}#)) (syntax-violation #f "bad module kind" - #{var\ 1182}# - #{mod\ 1186}#))))))))) + #{var\ 1119}# + #{mod\ 1123}#))))))))) (#{build-lexical-assignment\ 99}# - (lambda (#{source\ 1187}# - #{name\ 1188}# - #{var\ 1189}# - #{exp\ 1190}#) - (let ((#{atom-key\ 1191}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1191}# (quote (c))) + (lambda (#{source\ 1124}# + #{name\ 1125}# + #{var\ 1126}# + #{exp\ 1127}#) + (let ((#{atom-key\ 1128}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1128}# (quote (c))) ((@ (language tree-il) make-lexical-set) - #{source\ 1187}# - #{name\ 1188}# - #{var\ 1189}# - #{exp\ 1190}#) + #{source\ 1124}# + #{name\ 1125}# + #{var\ 1126}# + #{exp\ 1127}#) (#{decorate-source\ 94}# - (list (quote set!) #{var\ 1189}# #{exp\ 1190}#) - #{source\ 1187}#))))) + (list (quote set!) #{var\ 1126}# #{exp\ 1127}#) + #{source\ 1124}#))))) (#{build-lexical-reference\ 98}# - (lambda (#{type\ 1192}# - #{source\ 1193}# - #{name\ 1194}# - #{var\ 1195}#) - (let ((#{atom-key\ 1196}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1196}# (quote (c))) + (lambda (#{type\ 1129}# + #{source\ 1130}# + #{name\ 1131}# + #{var\ 1132}#) + (let ((#{atom-key\ 1133}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1133}# (quote (c))) ((@ (language tree-il) make-lexical-ref) - #{source\ 1193}# - #{name\ 1194}# - #{var\ 1195}#) + #{source\ 1130}# + #{name\ 1131}# + #{var\ 1132}#) (#{decorate-source\ 94}# - #{var\ 1195}# - #{source\ 1193}#))))) + #{var\ 1132}# + #{source\ 1130}#))))) (#{build-conditional\ 97}# - (lambda (#{source\ 1197}# - #{test-exp\ 1198}# - #{then-exp\ 1199}# - #{else-exp\ 1200}#) - (let ((#{atom-key\ 1201}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1201}# (quote (c))) + (lambda (#{source\ 1134}# + #{test-exp\ 1135}# + #{then-exp\ 1136}# + #{else-exp\ 1137}#) + (let ((#{atom-key\ 1138}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1138}# (quote (c))) ((@ (language tree-il) make-conditional) - #{source\ 1197}# - #{test-exp\ 1198}# - #{then-exp\ 1199}# - #{else-exp\ 1200}#) + #{source\ 1134}# + #{test-exp\ 1135}# + #{then-exp\ 1136}# + #{else-exp\ 1137}#) (#{decorate-source\ 94}# - (if (equal? #{else-exp\ 1200}# (quote (if #f #f))) + (if (equal? #{else-exp\ 1137}# (quote (if #f #f))) (list 'if - #{test-exp\ 1198}# - #{then-exp\ 1199}#) + #{test-exp\ 1135}# + #{then-exp\ 1136}#) (list 'if - #{test-exp\ 1198}# - #{then-exp\ 1199}# - #{else-exp\ 1200}#)) - #{source\ 1197}#))))) + #{test-exp\ 1135}# + #{then-exp\ 1136}# + #{else-exp\ 1137}#)) + #{source\ 1134}#))))) (#{build-application\ 96}# - (lambda (#{source\ 1202}# - #{fun-exp\ 1203}# - #{arg-exps\ 1204}#) - (let ((#{atom-key\ 1205}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1205}# (quote (c))) + (lambda (#{source\ 1139}# + #{fun-exp\ 1140}# + #{arg-exps\ 1141}#) + (let ((#{atom-key\ 1142}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1142}# (quote (c))) ((@ (language tree-il) make-application) - #{source\ 1202}# - #{fun-exp\ 1203}# - #{arg-exps\ 1204}#) + #{source\ 1139}# + #{fun-exp\ 1140}# + #{arg-exps\ 1141}#) (#{decorate-source\ 94}# - (cons #{fun-exp\ 1203}# #{arg-exps\ 1204}#) - #{source\ 1202}#))))) + (cons #{fun-exp\ 1140}# #{arg-exps\ 1141}#) + #{source\ 1139}#))))) (#{build-void\ 95}# - (lambda (#{source\ 1206}#) - (let ((#{atom-key\ 1207}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1207}# (quote (c))) + (lambda (#{source\ 1143}#) + (let ((#{atom-key\ 1144}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1144}# (quote (c))) ((@ (language tree-il) make-void) - #{source\ 1206}#) + #{source\ 1143}#) (#{decorate-source\ 94}# '(if #f #f) - #{source\ 1206}#))))) + #{source\ 1143}#))))) (#{decorate-source\ 94}# - (lambda (#{e\ 1208}# #{s\ 1209}#) + (lambda (#{e\ 1145}# #{s\ 1146}#) (begin - (if (if (pair? #{e\ 1208}#) #{s\ 1209}# #f) - (set-source-properties! #{e\ 1208}# #{s\ 1209}#)) - #{e\ 1208}#))) + (if (if (pair? #{e\ 1145}#) #{s\ 1146}# #f) + (set-source-properties! #{e\ 1145}# #{s\ 1146}#)) + #{e\ 1145}#))) (#{get-global-definition-hook\ 93}# - (lambda (#{symbol\ 1210}# #{module\ 1211}#) + (lambda (#{symbol\ 1147}# #{module\ 1148}#) (begin - (if (if (not #{module\ 1211}#) (current-module) #f) + (if (if (not #{module\ 1148}#) (current-module) #f) (warn "module system is booted, we should have a module" - #{symbol\ 1210}#)) - (let ((#{v\ 1212}# + #{symbol\ 1147}#)) + (let ((#{v\ 1149}# (module-variable - (if #{module\ 1211}# - (resolve-module (cdr #{module\ 1211}#)) + (if #{module\ 1148}# + (resolve-module (cdr #{module\ 1148}#)) (current-module)) - #{symbol\ 1210}#))) - (if #{v\ 1212}# - (if (variable-bound? #{v\ 1212}#) - (let ((#{val\ 1213}# (variable-ref #{v\ 1212}#))) - (if (macro? #{val\ 1213}#) - (if (syncase-macro-type #{val\ 1213}#) - (cons (syncase-macro-type #{val\ 1213}#) - (syncase-macro-binding #{val\ 1213}#)) + #{symbol\ 1147}#))) + (if #{v\ 1149}# + (if (variable-bound? #{v\ 1149}#) + (let ((#{val\ 1150}# (variable-ref #{v\ 1149}#))) + (if (macro? #{val\ 1150}#) + (if (syncase-macro-type #{val\ 1150}#) + (cons (syncase-macro-type #{val\ 1150}#) + (syncase-macro-binding #{val\ 1150}#)) #f) #f)) #f) #f))))) (#{put-global-definition-hook\ 92}# - (lambda (#{symbol\ 1214}# #{type\ 1215}# #{val\ 1216}#) - (let ((#{existing\ 1217}# - (let ((#{v\ 1218}# + (lambda (#{symbol\ 1151}# #{type\ 1152}# #{val\ 1153}#) + (let ((#{existing\ 1154}# + (let ((#{v\ 1155}# (module-variable (current-module) - #{symbol\ 1214}#))) - (if #{v\ 1218}# - (if (variable-bound? #{v\ 1218}#) - (let ((#{val\ 1219}# (variable-ref #{v\ 1218}#))) - (if (macro? #{val\ 1219}#) - (if (not (syncase-macro-type #{val\ 1219}#)) - #{val\ 1219}# + #{symbol\ 1151}#))) + (if #{v\ 1155}# + (if (variable-bound? #{v\ 1155}#) + (let ((#{val\ 1156}# (variable-ref #{v\ 1155}#))) + (if (macro? #{val\ 1156}#) + (if (not (syncase-macro-type #{val\ 1156}#)) + #{val\ 1156}# #f) #f)) #f) #f)))) (module-define! (current-module) - #{symbol\ 1214}# - (if #{existing\ 1217}# + #{symbol\ 1151}# + (if #{existing\ 1154}# (make-extended-syncase-macro - #{existing\ 1217}# - #{type\ 1215}# - #{val\ 1216}#) - (make-syncase-macro #{type\ 1215}# #{val\ 1216}#)))))) + #{existing\ 1154}# + #{type\ 1152}# + #{val\ 1153}#) + (make-syncase-macro #{type\ 1152}# #{val\ 1153}#)))))) (#{local-eval-hook\ 91}# - (lambda (#{x\ 1220}# #{mod\ 1221}#) + (lambda (#{x\ 1157}# #{mod\ 1158}#) (primitive-eval (list #{noexpand\ 84}# - (let ((#{atom-key\ 1222}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1222}# (quote (c))) + (let ((#{atom-key\ 1159}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1159}# (quote (c))) ((@ (language tree-il) tree-il->scheme) - #{x\ 1220}#) - #{x\ 1220}#)))))) + #{x\ 1157}#) + #{x\ 1157}#)))))) (#{top-level-eval-hook\ 90}# - (lambda (#{x\ 1223}# #{mod\ 1224}#) + (lambda (#{x\ 1160}# #{mod\ 1161}#) (primitive-eval (list #{noexpand\ 84}# - (let ((#{atom-key\ 1225}# (fluid-ref #{*mode*\ 85}#))) - (if (memv #{atom-key\ 1225}# (quote (c))) + (let ((#{atom-key\ 1162}# (fluid-ref #{*mode*\ 85}#))) + (if (memv #{atom-key\ 1162}# (quote (c))) ((@ (language tree-il) tree-il->scheme) - #{x\ 1223}#) - #{x\ 1223}#)))))) + #{x\ 1160}#) + #{x\ 1160}#)))))) (#{fx<\ 89}# <) (#{fx=\ 88}# =) (#{fx-\ 87}# -) @@ -8115,1070 +7876,1068 @@ (#{global-extend\ 129}# 'core 'fluid-let-syntax - (lambda (#{e\ 1226}# - #{r\ 1227}# - #{w\ 1228}# - #{s\ 1229}# - #{mod\ 1230}#) - ((lambda (#{tmp\ 1231}#) - ((lambda (#{tmp\ 1232}#) - (if (if #{tmp\ 1232}# - (apply (lambda (#{_\ 1233}# - #{var\ 1234}# - #{val\ 1235}# - #{e1\ 1236}# - #{e2\ 1237}#) - (#{valid-bound-ids?\ 156}# #{var\ 1234}#)) - #{tmp\ 1232}#) + (lambda (#{e\ 1163}# + #{r\ 1164}# + #{w\ 1165}# + #{s\ 1166}# + #{mod\ 1167}#) + ((lambda (#{tmp\ 1168}#) + ((lambda (#{tmp\ 1169}#) + (if (if #{tmp\ 1169}# + (apply (lambda (#{_\ 1170}# + #{var\ 1171}# + #{val\ 1172}# + #{e1\ 1173}# + #{e2\ 1174}#) + (#{valid-bound-ids?\ 156}# #{var\ 1171}#)) + #{tmp\ 1169}#) #f) - (apply (lambda (#{_\ 1239}# - #{var\ 1240}# - #{val\ 1241}# - #{e1\ 1242}# - #{e2\ 1243}#) - (let ((#{names\ 1244}# - (map (lambda (#{x\ 1245}#) + (apply (lambda (#{_\ 1176}# + #{var\ 1177}# + #{val\ 1178}# + #{e1\ 1179}# + #{e2\ 1180}#) + (let ((#{names\ 1181}# + (map (lambda (#{x\ 1182}#) (#{id-var-name\ 153}# - #{x\ 1245}# - #{w\ 1228}#)) - #{var\ 1240}#))) + #{x\ 1182}# + #{w\ 1165}#)) + #{var\ 1177}#))) (begin (for-each - (lambda (#{id\ 1247}# #{n\ 1248}#) - (let ((#{atom-key\ 1249}# + (lambda (#{id\ 1184}# #{n\ 1185}#) + (let ((#{atom-key\ 1186}# (#{binding-type\ 123}# (#{lookup\ 128}# - #{n\ 1248}# - #{r\ 1227}# - #{mod\ 1230}#)))) - (if (memv #{atom-key\ 1249}# + #{n\ 1185}# + #{r\ 1164}# + #{mod\ 1167}#)))) + (if (memv #{atom-key\ 1186}# '(displaced-lexical)) (syntax-violation 'fluid-let-syntax "identifier out of context" - #{e\ 1226}# + #{e\ 1163}# (#{source-wrap\ 160}# - #{id\ 1247}# - #{w\ 1228}# - #{s\ 1229}# - #{mod\ 1230}#))))) - #{var\ 1240}# - #{names\ 1244}#) + #{id\ 1184}# + #{w\ 1165}# + #{s\ 1166}# + #{mod\ 1167}#))))) + #{var\ 1177}# + #{names\ 1181}#) (#{chi-body\ 171}# - (cons #{e1\ 1242}# #{e2\ 1243}#) + (cons #{e1\ 1179}# #{e2\ 1180}#) (#{source-wrap\ 160}# - #{e\ 1226}# - #{w\ 1228}# - #{s\ 1229}# - #{mod\ 1230}#) + #{e\ 1163}# + #{w\ 1165}# + #{s\ 1166}# + #{mod\ 1167}#) (#{extend-env\ 125}# - #{names\ 1244}# - (let ((#{trans-r\ 1252}# + #{names\ 1181}# + (let ((#{trans-r\ 1189}# (#{macros-only-env\ 127}# - #{r\ 1227}#))) - (map (lambda (#{x\ 1253}#) + #{r\ 1164}#))) + (map (lambda (#{x\ 1190}#) (cons 'macro (#{eval-local-transformer\ 173}# (#{chi\ 167}# - #{x\ 1253}# - #{trans-r\ 1252}# - #{w\ 1228}# - #{mod\ 1230}#) - #{mod\ 1230}#))) - #{val\ 1241}#)) - #{r\ 1227}#) - #{w\ 1228}# - #{mod\ 1230}#)))) - #{tmp\ 1232}#) - ((lambda (#{_\ 1255}#) + #{x\ 1190}# + #{trans-r\ 1189}# + #{w\ 1165}# + #{mod\ 1167}#) + #{mod\ 1167}#))) + #{val\ 1178}#)) + #{r\ 1164}#) + #{w\ 1165}# + #{mod\ 1167}#)))) + #{tmp\ 1169}#) + ((lambda (#{_\ 1192}#) (syntax-violation 'fluid-let-syntax "bad syntax" (#{source-wrap\ 160}# - #{e\ 1226}# - #{w\ 1228}# - #{s\ 1229}# - #{mod\ 1230}#))) - #{tmp\ 1231}#))) + #{e\ 1163}# + #{w\ 1165}# + #{s\ 1166}# + #{mod\ 1167}#))) + #{tmp\ 1168}#))) ($sc-dispatch - #{tmp\ 1231}# + #{tmp\ 1168}# '(any #(each (any any)) any . each-any)))) - #{e\ 1226}#))) + #{e\ 1163}#))) (#{global-extend\ 129}# 'core 'quote - (lambda (#{e\ 1256}# - #{r\ 1257}# - #{w\ 1258}# - #{s\ 1259}# - #{mod\ 1260}#) - ((lambda (#{tmp\ 1261}#) - ((lambda (#{tmp\ 1262}#) - (if #{tmp\ 1262}# - (apply (lambda (#{_\ 1263}# #{e\ 1264}#) + (lambda (#{e\ 1193}# + #{r\ 1194}# + #{w\ 1195}# + #{s\ 1196}# + #{mod\ 1197}#) + ((lambda (#{tmp\ 1198}#) + ((lambda (#{tmp\ 1199}#) + (if #{tmp\ 1199}# + (apply (lambda (#{_\ 1200}# #{e\ 1201}#) (#{build-data\ 109}# - #{s\ 1259}# - (#{strip\ 180}# #{e\ 1264}# #{w\ 1258}#))) - #{tmp\ 1262}#) - ((lambda (#{_\ 1265}#) + #{s\ 1196}# + (#{strip\ 180}# #{e\ 1201}# #{w\ 1195}#))) + #{tmp\ 1199}#) + ((lambda (#{_\ 1202}#) (syntax-violation 'quote "bad syntax" (#{source-wrap\ 160}# - #{e\ 1256}# - #{w\ 1258}# - #{s\ 1259}# - #{mod\ 1260}#))) - #{tmp\ 1261}#))) - ($sc-dispatch #{tmp\ 1261}# (quote (any any))))) - #{e\ 1256}#))) + #{e\ 1193}# + #{w\ 1195}# + #{s\ 1196}# + #{mod\ 1197}#))) + #{tmp\ 1198}#))) + ($sc-dispatch #{tmp\ 1198}# (quote (any any))))) + #{e\ 1193}#))) (#{global-extend\ 129}# 'core 'syntax - (letrec ((#{regen\ 1273}# - (lambda (#{x\ 1274}#) - (let ((#{atom-key\ 1275}# (car #{x\ 1274}#))) - (if (memv #{atom-key\ 1275}# (quote (ref))) + (letrec ((#{regen\ 1210}# + (lambda (#{x\ 1211}#) + (let ((#{atom-key\ 1212}# (car #{x\ 1211}#))) + (if (memv #{atom-key\ 1212}# (quote (ref))) (#{build-lexical-reference\ 98}# 'value #f - (cadr #{x\ 1274}#) - (cadr #{x\ 1274}#)) - (if (memv #{atom-key\ 1275}# (quote (primitive))) - (#{build-primref\ 108}# #f (cadr #{x\ 1274}#)) - (if (memv #{atom-key\ 1275}# (quote (quote))) - (#{build-data\ 109}# #f (cadr #{x\ 1274}#)) - (if (memv #{atom-key\ 1275}# (quote (lambda))) - (if (list? (cadr #{x\ 1274}#)) + (cadr #{x\ 1211}#) + (cadr #{x\ 1211}#)) + (if (memv #{atom-key\ 1212}# (quote (primitive))) + (#{build-primref\ 108}# #f (cadr #{x\ 1211}#)) + (if (memv #{atom-key\ 1212}# (quote (quote))) + (#{build-data\ 109}# #f (cadr #{x\ 1211}#)) + (if (memv #{atom-key\ 1212}# (quote (lambda))) + (if (list? (cadr #{x\ 1211}#)) (#{build-simple-lambda\ 105}# #f - (cadr #{x\ 1274}#) + (cadr #{x\ 1211}#) #f - (cadr #{x\ 1274}#) + (cadr #{x\ 1211}#) #f - (#{regen\ 1273}# (caddr #{x\ 1274}#))) - (error "how did we get here" #{x\ 1274}#)) + (#{regen\ 1210}# (caddr #{x\ 1211}#))) + (error "how did we get here" #{x\ 1211}#)) (#{build-application\ 96}# #f - (#{build-primref\ 108}# #f (car #{x\ 1274}#)) - (map #{regen\ 1273}# - (cdr #{x\ 1274}#)))))))))) - (#{gen-vector\ 1272}# - (lambda (#{x\ 1276}#) - (if (eq? (car #{x\ 1276}#) (quote list)) - (cons (quote vector) (cdr #{x\ 1276}#)) - (if (eq? (car #{x\ 1276}#) (quote quote)) + (#{build-primref\ 108}# #f (car #{x\ 1211}#)) + (map #{regen\ 1210}# + (cdr #{x\ 1211}#)))))))))) + (#{gen-vector\ 1209}# + (lambda (#{x\ 1213}#) + (if (eq? (car #{x\ 1213}#) (quote list)) + (cons (quote vector) (cdr #{x\ 1213}#)) + (if (eq? (car #{x\ 1213}#) (quote quote)) (list 'quote - (list->vector (cadr #{x\ 1276}#))) - (list (quote list->vector) #{x\ 1276}#))))) - (#{gen-append\ 1271}# - (lambda (#{x\ 1277}# #{y\ 1278}#) - (if (equal? #{y\ 1278}# (quote (quote ()))) - #{x\ 1277}# - (list (quote append) #{x\ 1277}# #{y\ 1278}#)))) - (#{gen-cons\ 1270}# - (lambda (#{x\ 1279}# #{y\ 1280}#) - (let ((#{atom-key\ 1281}# (car #{y\ 1280}#))) - (if (memv #{atom-key\ 1281}# (quote (quote))) - (if (eq? (car #{x\ 1279}#) (quote quote)) + (list->vector (cadr #{x\ 1213}#))) + (list (quote list->vector) #{x\ 1213}#))))) + (#{gen-append\ 1208}# + (lambda (#{x\ 1214}# #{y\ 1215}#) + (if (equal? #{y\ 1215}# (quote (quote ()))) + #{x\ 1214}# + (list (quote append) #{x\ 1214}# #{y\ 1215}#)))) + (#{gen-cons\ 1207}# + (lambda (#{x\ 1216}# #{y\ 1217}#) + (let ((#{atom-key\ 1218}# (car #{y\ 1217}#))) + (if (memv #{atom-key\ 1218}# (quote (quote))) + (if (eq? (car #{x\ 1216}#) (quote quote)) (list 'quote - (cons (cadr #{x\ 1279}#) (cadr #{y\ 1280}#))) - (if (eq? (cadr #{y\ 1280}#) (quote ())) - (list (quote list) #{x\ 1279}#) - (list (quote cons) #{x\ 1279}# #{y\ 1280}#))) - (if (memv #{atom-key\ 1281}# (quote (list))) + (cons (cadr #{x\ 1216}#) (cadr #{y\ 1217}#))) + (if (eq? (cadr #{y\ 1217}#) (quote ())) + (list (quote list) #{x\ 1216}#) + (list (quote cons) #{x\ 1216}# #{y\ 1217}#))) + (if (memv #{atom-key\ 1218}# (quote (list))) (cons 'list - (cons #{x\ 1279}# (cdr #{y\ 1280}#))) - (list (quote cons) #{x\ 1279}# #{y\ 1280}#)))))) - (#{gen-map\ 1269}# - (lambda (#{e\ 1282}# #{map-env\ 1283}#) - (let ((#{formals\ 1284}# (map cdr #{map-env\ 1283}#)) - (#{actuals\ 1285}# - (map (lambda (#{x\ 1286}#) - (list (quote ref) (car #{x\ 1286}#))) - #{map-env\ 1283}#))) - (if (eq? (car #{e\ 1282}#) (quote ref)) - (car #{actuals\ 1285}#) + (cons #{x\ 1216}# (cdr #{y\ 1217}#))) + (list (quote cons) #{x\ 1216}# #{y\ 1217}#)))))) + (#{gen-map\ 1206}# + (lambda (#{e\ 1219}# #{map-env\ 1220}#) + (let ((#{formals\ 1221}# (map cdr #{map-env\ 1220}#)) + (#{actuals\ 1222}# + (map (lambda (#{x\ 1223}#) + (list (quote ref) (car #{x\ 1223}#))) + #{map-env\ 1220}#))) + (if (eq? (car #{e\ 1219}#) (quote ref)) + (car #{actuals\ 1222}#) (if (and-map - (lambda (#{x\ 1287}#) - (if (eq? (car #{x\ 1287}#) (quote ref)) - (memq (cadr #{x\ 1287}#) #{formals\ 1284}#) + (lambda (#{x\ 1224}#) + (if (eq? (car #{x\ 1224}#) (quote ref)) + (memq (cadr #{x\ 1224}#) #{formals\ 1221}#) #f)) - (cdr #{e\ 1282}#)) + (cdr #{e\ 1219}#)) (cons 'map (cons (list 'primitive - (car #{e\ 1282}#)) - (map (let ((#{r\ 1288}# + (car #{e\ 1219}#)) + (map (let ((#{r\ 1225}# (map cons - #{formals\ 1284}# - #{actuals\ 1285}#))) - (lambda (#{x\ 1289}#) - (cdr (assq (cadr #{x\ 1289}#) - #{r\ 1288}#)))) - (cdr #{e\ 1282}#)))) + #{formals\ 1221}# + #{actuals\ 1222}#))) + (lambda (#{x\ 1226}#) + (cdr (assq (cadr #{x\ 1226}#) + #{r\ 1225}#)))) + (cdr #{e\ 1219}#)))) (cons 'map (cons (list 'lambda - #{formals\ 1284}# - #{e\ 1282}#) - #{actuals\ 1285}#))))))) - (#{gen-mappend\ 1268}# - (lambda (#{e\ 1290}# #{map-env\ 1291}#) + #{formals\ 1221}# + #{e\ 1219}#) + #{actuals\ 1222}#))))))) + (#{gen-mappend\ 1205}# + (lambda (#{e\ 1227}# #{map-env\ 1228}#) (list 'apply '(primitive append) - (#{gen-map\ 1269}# #{e\ 1290}# #{map-env\ 1291}#)))) - (#{gen-ref\ 1267}# - (lambda (#{src\ 1292}# - #{var\ 1293}# - #{level\ 1294}# - #{maps\ 1295}#) - (if (#{fx=\ 88}# #{level\ 1294}# 0) - (values #{var\ 1293}# #{maps\ 1295}#) - (if (null? #{maps\ 1295}#) + (#{gen-map\ 1206}# #{e\ 1227}# #{map-env\ 1228}#)))) + (#{gen-ref\ 1204}# + (lambda (#{src\ 1229}# + #{var\ 1230}# + #{level\ 1231}# + #{maps\ 1232}#) + (if (#{fx=\ 88}# #{level\ 1231}# 0) + (values #{var\ 1230}# #{maps\ 1232}#) + (if (null? #{maps\ 1232}#) (syntax-violation 'syntax "missing ellipsis" - #{src\ 1292}#) + #{src\ 1229}#) (call-with-values (lambda () - (#{gen-ref\ 1267}# - #{src\ 1292}# - #{var\ 1293}# - (#{fx-\ 87}# #{level\ 1294}# 1) - (cdr #{maps\ 1295}#))) - (lambda (#{outer-var\ 1296}# #{outer-maps\ 1297}#) - (let ((#{b\ 1298}# - (assq #{outer-var\ 1296}# - (car #{maps\ 1295}#)))) - (if #{b\ 1298}# - (values (cdr #{b\ 1298}#) #{maps\ 1295}#) - (let ((#{inner-var\ 1299}# + (#{gen-ref\ 1204}# + #{src\ 1229}# + #{var\ 1230}# + (#{fx-\ 87}# #{level\ 1231}# 1) + (cdr #{maps\ 1232}#))) + (lambda (#{outer-var\ 1233}# #{outer-maps\ 1234}#) + (let ((#{b\ 1235}# + (assq #{outer-var\ 1233}# + (car #{maps\ 1232}#)))) + (if #{b\ 1235}# + (values (cdr #{b\ 1235}#) #{maps\ 1232}#) + (let ((#{inner-var\ 1236}# (#{gen-var\ 181}# (quote tmp)))) (values - #{inner-var\ 1299}# - (cons (cons (cons #{outer-var\ 1296}# - #{inner-var\ 1299}#) - (car #{maps\ 1295}#)) - #{outer-maps\ 1297}#))))))))))) - (#{gen-syntax\ 1266}# - (lambda (#{src\ 1300}# - #{e\ 1301}# - #{r\ 1302}# - #{maps\ 1303}# - #{ellipsis?\ 1304}# - #{mod\ 1305}#) - (if (#{id?\ 131}# #{e\ 1301}#) - (let ((#{label\ 1306}# + #{inner-var\ 1236}# + (cons (cons (cons #{outer-var\ 1233}# + #{inner-var\ 1236}#) + (car #{maps\ 1232}#)) + #{outer-maps\ 1234}#))))))))))) + (#{gen-syntax\ 1203}# + (lambda (#{src\ 1237}# + #{e\ 1238}# + #{r\ 1239}# + #{maps\ 1240}# + #{ellipsis?\ 1241}# + #{mod\ 1242}#) + (if (#{id?\ 131}# #{e\ 1238}#) + (let ((#{label\ 1243}# (#{id-var-name\ 153}# - #{e\ 1301}# + #{e\ 1238}# '(())))) - (let ((#{b\ 1307}# + (let ((#{b\ 1244}# (#{lookup\ 128}# - #{label\ 1306}# - #{r\ 1302}# - #{mod\ 1305}#))) - (if (eq? (#{binding-type\ 123}# #{b\ 1307}#) + #{label\ 1243}# + #{r\ 1239}# + #{mod\ 1242}#))) + (if (eq? (#{binding-type\ 123}# #{b\ 1244}#) 'syntax) (call-with-values (lambda () - (let ((#{var.lev\ 1308}# - (#{binding-value\ 124}# #{b\ 1307}#))) - (#{gen-ref\ 1267}# - #{src\ 1300}# - (car #{var.lev\ 1308}#) - (cdr #{var.lev\ 1308}#) - #{maps\ 1303}#))) - (lambda (#{var\ 1309}# #{maps\ 1310}#) + (let ((#{var.lev\ 1245}# + (#{binding-value\ 124}# #{b\ 1244}#))) + (#{gen-ref\ 1204}# + #{src\ 1237}# + (car #{var.lev\ 1245}#) + (cdr #{var.lev\ 1245}#) + #{maps\ 1240}#))) + (lambda (#{var\ 1246}# #{maps\ 1247}#) (values - (list (quote ref) #{var\ 1309}#) - #{maps\ 1310}#))) - (if (#{ellipsis?\ 1304}# #{e\ 1301}#) + (list (quote ref) #{var\ 1246}#) + #{maps\ 1247}#))) + (if (#{ellipsis?\ 1241}# #{e\ 1238}#) (syntax-violation 'syntax "misplaced ellipsis" - #{src\ 1300}#) + #{src\ 1237}#) (values - (list (quote quote) #{e\ 1301}#) - #{maps\ 1303}#))))) - ((lambda (#{tmp\ 1311}#) - ((lambda (#{tmp\ 1312}#) - (if (if #{tmp\ 1312}# - (apply (lambda (#{dots\ 1313}# #{e\ 1314}#) - (#{ellipsis?\ 1304}# - #{dots\ 1313}#)) - #{tmp\ 1312}#) + (list (quote quote) #{e\ 1238}#) + #{maps\ 1240}#))))) + ((lambda (#{tmp\ 1248}#) + ((lambda (#{tmp\ 1249}#) + (if (if #{tmp\ 1249}# + (apply (lambda (#{dots\ 1250}# #{e\ 1251}#) + (#{ellipsis?\ 1241}# + #{dots\ 1250}#)) + #{tmp\ 1249}#) #f) - (apply (lambda (#{dots\ 1315}# #{e\ 1316}#) - (#{gen-syntax\ 1266}# - #{src\ 1300}# - #{e\ 1316}# - #{r\ 1302}# - #{maps\ 1303}# - (lambda (#{x\ 1317}#) #f) - #{mod\ 1305}#)) - #{tmp\ 1312}#) - ((lambda (#{tmp\ 1318}#) - (if (if #{tmp\ 1318}# - (apply (lambda (#{x\ 1319}# - #{dots\ 1320}# - #{y\ 1321}#) - (#{ellipsis?\ 1304}# - #{dots\ 1320}#)) - #{tmp\ 1318}#) + (apply (lambda (#{dots\ 1252}# #{e\ 1253}#) + (#{gen-syntax\ 1203}# + #{src\ 1237}# + #{e\ 1253}# + #{r\ 1239}# + #{maps\ 1240}# + (lambda (#{x\ 1254}#) #f) + #{mod\ 1242}#)) + #{tmp\ 1249}#) + ((lambda (#{tmp\ 1255}#) + (if (if #{tmp\ 1255}# + (apply (lambda (#{x\ 1256}# + #{dots\ 1257}# + #{y\ 1258}#) + (#{ellipsis?\ 1241}# + #{dots\ 1257}#)) + #{tmp\ 1255}#) #f) - (apply (lambda (#{x\ 1322}# - #{dots\ 1323}# - #{y\ 1324}#) - (letrec ((#{f\ 1325}# - (lambda (#{y\ 1326}# - #{k\ 1327}#) - ((lambda (#{tmp\ 1331}#) - ((lambda (#{tmp\ 1332}#) - (if (if #{tmp\ 1332}# - (apply (lambda (#{dots\ 1333}# - #{y\ 1334}#) - (#{ellipsis?\ 1304}# - #{dots\ 1333}#)) - #{tmp\ 1332}#) + (apply (lambda (#{x\ 1259}# + #{dots\ 1260}# + #{y\ 1261}#) + (letrec ((#{f\ 1262}# + (lambda (#{y\ 1263}# + #{k\ 1264}#) + ((lambda (#{tmp\ 1268}#) + ((lambda (#{tmp\ 1269}#) + (if (if #{tmp\ 1269}# + (apply (lambda (#{dots\ 1270}# + #{y\ 1271}#) + (#{ellipsis?\ 1241}# + #{dots\ 1270}#)) + #{tmp\ 1269}#) #f) - (apply (lambda (#{dots\ 1335}# - #{y\ 1336}#) - (#{f\ 1325}# - #{y\ 1336}# - (lambda (#{maps\ 1337}#) + (apply (lambda (#{dots\ 1272}# + #{y\ 1273}#) + (#{f\ 1262}# + #{y\ 1273}# + (lambda (#{maps\ 1274}#) (call-with-values (lambda () - (#{k\ 1327}# + (#{k\ 1264}# (cons '() - #{maps\ 1337}#))) - (lambda (#{x\ 1338}# - #{maps\ 1339}#) - (if (null? (car #{maps\ 1339}#)) + #{maps\ 1274}#))) + (lambda (#{x\ 1275}# + #{maps\ 1276}#) + (if (null? (car #{maps\ 1276}#)) (syntax-violation 'syntax "extra ellipsis" - #{src\ 1300}#) + #{src\ 1237}#) (values - (#{gen-mappend\ 1268}# - #{x\ 1338}# - (car #{maps\ 1339}#)) - (cdr #{maps\ 1339}#)))))))) - #{tmp\ 1332}#) - ((lambda (#{_\ 1340}#) + (#{gen-mappend\ 1205}# + #{x\ 1275}# + (car #{maps\ 1276}#)) + (cdr #{maps\ 1276}#)))))))) + #{tmp\ 1269}#) + ((lambda (#{_\ 1277}#) (call-with-values (lambda () - (#{gen-syntax\ 1266}# - #{src\ 1300}# - #{y\ 1326}# - #{r\ 1302}# - #{maps\ 1303}# - #{ellipsis?\ 1304}# - #{mod\ 1305}#)) - (lambda (#{y\ 1341}# - #{maps\ 1342}#) + (#{gen-syntax\ 1203}# + #{src\ 1237}# + #{y\ 1263}# + #{r\ 1239}# + #{maps\ 1240}# + #{ellipsis?\ 1241}# + #{mod\ 1242}#)) + (lambda (#{y\ 1278}# + #{maps\ 1279}#) (call-with-values (lambda () - (#{k\ 1327}# - #{maps\ 1342}#)) - (lambda (#{x\ 1343}# - #{maps\ 1344}#) + (#{k\ 1264}# + #{maps\ 1279}#)) + (lambda (#{x\ 1280}# + #{maps\ 1281}#) (values - (#{gen-append\ 1271}# - #{x\ 1343}# - #{y\ 1341}#) - #{maps\ 1344}#)))))) - #{tmp\ 1331}#))) + (#{gen-append\ 1208}# + #{x\ 1280}# + #{y\ 1278}#) + #{maps\ 1281}#)))))) + #{tmp\ 1268}#))) ($sc-dispatch - #{tmp\ 1331}# + #{tmp\ 1268}# '(any . any)))) - #{y\ 1326}#)))) - (#{f\ 1325}# - #{y\ 1324}# - (lambda (#{maps\ 1328}#) + #{y\ 1263}#)))) + (#{f\ 1262}# + #{y\ 1261}# + (lambda (#{maps\ 1265}#) (call-with-values (lambda () - (#{gen-syntax\ 1266}# - #{src\ 1300}# - #{x\ 1322}# - #{r\ 1302}# + (#{gen-syntax\ 1203}# + #{src\ 1237}# + #{x\ 1259}# + #{r\ 1239}# (cons '() - #{maps\ 1328}#) - #{ellipsis?\ 1304}# - #{mod\ 1305}#)) - (lambda (#{x\ 1329}# - #{maps\ 1330}#) - (if (null? (car #{maps\ 1330}#)) + #{maps\ 1265}#) + #{ellipsis?\ 1241}# + #{mod\ 1242}#)) + (lambda (#{x\ 1266}# + #{maps\ 1267}#) + (if (null? (car #{maps\ 1267}#)) (syntax-violation 'syntax "extra ellipsis" - #{src\ 1300}#) + #{src\ 1237}#) (values - (#{gen-map\ 1269}# - #{x\ 1329}# - (car #{maps\ 1330}#)) - (cdr #{maps\ 1330}#))))))))) - #{tmp\ 1318}#) - ((lambda (#{tmp\ 1345}#) - (if #{tmp\ 1345}# - (apply (lambda (#{x\ 1346}# - #{y\ 1347}#) + (#{gen-map\ 1206}# + #{x\ 1266}# + (car #{maps\ 1267}#)) + (cdr #{maps\ 1267}#))))))))) + #{tmp\ 1255}#) + ((lambda (#{tmp\ 1282}#) + (if #{tmp\ 1282}# + (apply (lambda (#{x\ 1283}# + #{y\ 1284}#) (call-with-values (lambda () - (#{gen-syntax\ 1266}# - #{src\ 1300}# - #{x\ 1346}# - #{r\ 1302}# - #{maps\ 1303}# - #{ellipsis?\ 1304}# - #{mod\ 1305}#)) - (lambda (#{x\ 1348}# - #{maps\ 1349}#) + (#{gen-syntax\ 1203}# + #{src\ 1237}# + #{x\ 1283}# + #{r\ 1239}# + #{maps\ 1240}# + #{ellipsis?\ 1241}# + #{mod\ 1242}#)) + (lambda (#{x\ 1285}# + #{maps\ 1286}#) (call-with-values (lambda () - (#{gen-syntax\ 1266}# - #{src\ 1300}# - #{y\ 1347}# - #{r\ 1302}# - #{maps\ 1349}# - #{ellipsis?\ 1304}# - #{mod\ 1305}#)) - (lambda (#{y\ 1350}# - #{maps\ 1351}#) + (#{gen-syntax\ 1203}# + #{src\ 1237}# + #{y\ 1284}# + #{r\ 1239}# + #{maps\ 1286}# + #{ellipsis?\ 1241}# + #{mod\ 1242}#)) + (lambda (#{y\ 1287}# + #{maps\ 1288}#) (values - (#{gen-cons\ 1270}# - #{x\ 1348}# - #{y\ 1350}#) - #{maps\ 1351}#)))))) - #{tmp\ 1345}#) - ((lambda (#{tmp\ 1352}#) - (if #{tmp\ 1352}# - (apply (lambda (#{e1\ 1353}# - #{e2\ 1354}#) + (#{gen-cons\ 1207}# + #{x\ 1285}# + #{y\ 1287}#) + #{maps\ 1288}#)))))) + #{tmp\ 1282}#) + ((lambda (#{tmp\ 1289}#) + (if #{tmp\ 1289}# + (apply (lambda (#{e1\ 1290}# + #{e2\ 1291}#) (call-with-values (lambda () - (#{gen-syntax\ 1266}# - #{src\ 1300}# - (cons #{e1\ 1353}# - #{e2\ 1354}#) - #{r\ 1302}# - #{maps\ 1303}# - #{ellipsis?\ 1304}# - #{mod\ 1305}#)) - (lambda (#{e\ 1356}# - #{maps\ 1357}#) + (#{gen-syntax\ 1203}# + #{src\ 1237}# + (cons #{e1\ 1290}# + #{e2\ 1291}#) + #{r\ 1239}# + #{maps\ 1240}# + #{ellipsis?\ 1241}# + #{mod\ 1242}#)) + (lambda (#{e\ 1293}# + #{maps\ 1294}#) (values - (#{gen-vector\ 1272}# - #{e\ 1356}#) - #{maps\ 1357}#)))) - #{tmp\ 1352}#) - ((lambda (#{_\ 1358}#) + (#{gen-vector\ 1209}# + #{e\ 1293}#) + #{maps\ 1294}#)))) + #{tmp\ 1289}#) + ((lambda (#{_\ 1295}#) (values (list 'quote - #{e\ 1301}#) - #{maps\ 1303}#)) - #{tmp\ 1311}#))) + #{e\ 1238}#) + #{maps\ 1240}#)) + #{tmp\ 1248}#))) ($sc-dispatch - #{tmp\ 1311}# + #{tmp\ 1248}# '#(vector (any . each-any)))))) ($sc-dispatch - #{tmp\ 1311}# + #{tmp\ 1248}# '(any . any))))) ($sc-dispatch - #{tmp\ 1311}# + #{tmp\ 1248}# '(any any . any))))) - ($sc-dispatch #{tmp\ 1311}# (quote (any any))))) - #{e\ 1301}#))))) - (lambda (#{e\ 1359}# - #{r\ 1360}# - #{w\ 1361}# - #{s\ 1362}# - #{mod\ 1363}#) - (let ((#{e\ 1364}# + ($sc-dispatch #{tmp\ 1248}# (quote (any any))))) + #{e\ 1238}#))))) + (lambda (#{e\ 1296}# + #{r\ 1297}# + #{w\ 1298}# + #{s\ 1299}# + #{mod\ 1300}#) + (let ((#{e\ 1301}# (#{source-wrap\ 160}# - #{e\ 1359}# - #{w\ 1361}# - #{s\ 1362}# - #{mod\ 1363}#))) - ((lambda (#{tmp\ 1365}#) - ((lambda (#{tmp\ 1366}#) - (if #{tmp\ 1366}# - (apply (lambda (#{_\ 1367}# #{x\ 1368}#) + #{e\ 1296}# + #{w\ 1298}# + #{s\ 1299}# + #{mod\ 1300}#))) + ((lambda (#{tmp\ 1302}#) + ((lambda (#{tmp\ 1303}#) + (if #{tmp\ 1303}# + (apply (lambda (#{_\ 1304}# #{x\ 1305}#) (call-with-values (lambda () - (#{gen-syntax\ 1266}# - #{e\ 1364}# - #{x\ 1368}# - #{r\ 1360}# + (#{gen-syntax\ 1203}# + #{e\ 1301}# + #{x\ 1305}# + #{r\ 1297}# '() #{ellipsis?\ 175}# - #{mod\ 1363}#)) - (lambda (#{e\ 1369}# #{maps\ 1370}#) - (#{regen\ 1273}# #{e\ 1369}#)))) - #{tmp\ 1366}#) - ((lambda (#{_\ 1371}#) + #{mod\ 1300}#)) + (lambda (#{e\ 1306}# #{maps\ 1307}#) + (#{regen\ 1210}# #{e\ 1306}#)))) + #{tmp\ 1303}#) + ((lambda (#{_\ 1308}#) (syntax-violation 'syntax "bad `syntax' form" - #{e\ 1364}#)) - #{tmp\ 1365}#))) - ($sc-dispatch #{tmp\ 1365}# (quote (any any))))) - #{e\ 1364}#))))) + #{e\ 1301}#)) + #{tmp\ 1302}#))) + ($sc-dispatch #{tmp\ 1302}# (quote (any any))))) + #{e\ 1301}#))))) (#{global-extend\ 129}# 'core 'lambda - (lambda (#{e\ 1372}# - #{r\ 1373}# - #{w\ 1374}# - #{s\ 1375}# - #{mod\ 1376}#) - ((lambda (#{tmp\ 1377}#) - ((lambda (#{tmp\ 1378}#) - (if (if #{tmp\ 1378}# - (apply (lambda (#{_\ 1379}# - #{args\ 1380}# - #{docstring\ 1381}# - #{e1\ 1382}# - #{e2\ 1383}#) - (string? (syntax->datum #{docstring\ 1381}#))) - #{tmp\ 1378}#) + (lambda (#{e\ 1309}# + #{r\ 1310}# + #{w\ 1311}# + #{s\ 1312}# + #{mod\ 1313}#) + ((lambda (#{tmp\ 1314}#) + ((lambda (#{tmp\ 1315}#) + (if (if #{tmp\ 1315}# + (apply (lambda (#{_\ 1316}# + #{args\ 1317}# + #{docstring\ 1318}# + #{e1\ 1319}# + #{e2\ 1320}#) + (string? (syntax->datum #{docstring\ 1318}#))) + #{tmp\ 1315}#) #f) - (apply (lambda (#{_\ 1384}# - #{args\ 1385}# - #{docstring\ 1386}# - #{e1\ 1387}# - #{e2\ 1388}#) + (apply (lambda (#{_\ 1321}# + #{args\ 1322}# + #{docstring\ 1323}# + #{e1\ 1324}# + #{e2\ 1325}#) (call-with-values (lambda () - (#{lambda-formals\ 176}# #{args\ 1385}#)) - (lambda (#{req\ 1389}# - #{opt\ 1390}# - #{rest\ 1391}# - #{kw\ 1392}# - #{pred\ 1393}#) + (#{lambda-formals\ 176}# #{args\ 1322}#)) + (lambda (#{req\ 1326}# + #{opt\ 1327}# + #{rest\ 1328}# + #{kw\ 1329}#) (#{chi-simple-lambda\ 177}# - #{e\ 1372}# - #{r\ 1373}# - #{w\ 1374}# - #{s\ 1375}# - #{mod\ 1376}# - #{req\ 1389}# - #{rest\ 1391}# - (syntax->datum #{docstring\ 1386}#) - (cons #{e1\ 1387}# #{e2\ 1388}#))))) - #{tmp\ 1378}#) - ((lambda (#{tmp\ 1395}#) - (if #{tmp\ 1395}# - (apply (lambda (#{_\ 1396}# - #{args\ 1397}# - #{e1\ 1398}# - #{e2\ 1399}#) + #{e\ 1309}# + #{r\ 1310}# + #{w\ 1311}# + #{s\ 1312}# + #{mod\ 1313}# + #{req\ 1326}# + #{rest\ 1328}# + (syntax->datum #{docstring\ 1323}#) + (cons #{e1\ 1324}# #{e2\ 1325}#))))) + #{tmp\ 1315}#) + ((lambda (#{tmp\ 1331}#) + (if #{tmp\ 1331}# + (apply (lambda (#{_\ 1332}# + #{args\ 1333}# + #{e1\ 1334}# + #{e2\ 1335}#) (call-with-values (lambda () - (#{lambda-formals\ 176}# #{args\ 1397}#)) - (lambda (#{req\ 1400}# - #{opt\ 1401}# - #{rest\ 1402}# - #{kw\ 1403}# - #{pred\ 1404}#) + (#{lambda-formals\ 176}# #{args\ 1333}#)) + (lambda (#{req\ 1336}# + #{opt\ 1337}# + #{rest\ 1338}# + #{kw\ 1339}#) (#{chi-simple-lambda\ 177}# - #{e\ 1372}# - #{r\ 1373}# - #{w\ 1374}# - #{s\ 1375}# - #{mod\ 1376}# - #{req\ 1400}# - #{rest\ 1402}# + #{e\ 1309}# + #{r\ 1310}# + #{w\ 1311}# + #{s\ 1312}# + #{mod\ 1313}# + #{req\ 1336}# + #{rest\ 1338}# #f - (cons #{e1\ 1398}# #{e2\ 1399}#))))) - #{tmp\ 1395}#) - ((lambda (#{_\ 1406}#) + (cons #{e1\ 1334}# #{e2\ 1335}#))))) + #{tmp\ 1331}#) + ((lambda (#{_\ 1341}#) (syntax-violation 'lambda "bad lambda" - #{e\ 1372}#)) - #{tmp\ 1377}#))) + #{e\ 1309}#)) + #{tmp\ 1314}#))) ($sc-dispatch - #{tmp\ 1377}# + #{tmp\ 1314}# '(any any any . each-any))))) ($sc-dispatch - #{tmp\ 1377}# + #{tmp\ 1314}# '(any any any any . each-any)))) - #{e\ 1372}#))) + #{e\ 1309}#))) (#{global-extend\ 129}# 'core 'lambda* - (lambda (#{e\ 1407}# - #{r\ 1408}# - #{w\ 1409}# - #{s\ 1410}# - #{mod\ 1411}#) - ((lambda (#{tmp\ 1412}#) - ((lambda (#{tmp\ 1413}#) - (if #{tmp\ 1413}# - (apply (lambda (#{_\ 1414}# - #{args\ 1415}# - #{e1\ 1416}# - #{e2\ 1417}#) + (lambda (#{e\ 1342}# + #{r\ 1343}# + #{w\ 1344}# + #{s\ 1345}# + #{mod\ 1346}#) + ((lambda (#{tmp\ 1347}#) + ((lambda (#{tmp\ 1348}#) + (if #{tmp\ 1348}# + (apply (lambda (#{_\ 1349}# + #{args\ 1350}# + #{e1\ 1351}# + #{e2\ 1352}#) (call-with-values (lambda () (#{chi-lambda-case\ 179}# - #{e\ 1407}# - #{r\ 1408}# - #{w\ 1409}# - #{s\ 1410}# - #{mod\ 1411}# + #{e\ 1342}# + #{r\ 1343}# + #{w\ 1344}# + #{s\ 1345}# + #{mod\ 1346}# #{lambda*-formals\ 178}# - (list (cons #{args\ 1415}# - (cons #{e1\ 1416}# - #{e2\ 1417}#))))) - (lambda (#{docstring\ 1419}# #{lcase\ 1420}#) + (list (cons #{args\ 1350}# + (cons #{e1\ 1351}# + #{e2\ 1352}#))))) + (lambda (#{docstring\ 1354}# #{lcase\ 1355}#) (#{build-case-lambda\ 106}# - #{s\ 1410}# - #{docstring\ 1419}# - #{lcase\ 1420}#)))) - #{tmp\ 1413}#) - ((lambda (#{_\ 1421}#) + #{s\ 1345}# + #{docstring\ 1354}# + #{lcase\ 1355}#)))) + #{tmp\ 1348}#) + ((lambda (#{_\ 1356}#) (syntax-violation 'lambda "bad lambda*" - #{e\ 1407}#)) - #{tmp\ 1412}#))) + #{e\ 1342}#)) + #{tmp\ 1347}#))) ($sc-dispatch - #{tmp\ 1412}# + #{tmp\ 1347}# '(any any any . each-any)))) - #{e\ 1407}#))) + #{e\ 1342}#))) (#{global-extend\ 129}# 'core 'case-lambda - (lambda (#{e\ 1422}# - #{r\ 1423}# - #{w\ 1424}# - #{s\ 1425}# - #{mod\ 1426}#) - ((lambda (#{tmp\ 1427}#) - ((lambda (#{tmp\ 1428}#) - (if #{tmp\ 1428}# - (apply (lambda (#{_\ 1429}# - #{args\ 1430}# - #{e1\ 1431}# - #{e2\ 1432}# - #{args*\ 1433}# - #{e1*\ 1434}# - #{e2*\ 1435}#) + (lambda (#{e\ 1357}# + #{r\ 1358}# + #{w\ 1359}# + #{s\ 1360}# + #{mod\ 1361}#) + ((lambda (#{tmp\ 1362}#) + ((lambda (#{tmp\ 1363}#) + (if #{tmp\ 1363}# + (apply (lambda (#{_\ 1364}# + #{args\ 1365}# + #{e1\ 1366}# + #{e2\ 1367}# + #{args*\ 1368}# + #{e1*\ 1369}# + #{e2*\ 1370}#) (call-with-values (lambda () (#{chi-lambda-case\ 179}# - #{e\ 1422}# - #{r\ 1423}# - #{w\ 1424}# - #{s\ 1425}# - #{mod\ 1426}# + #{e\ 1357}# + #{r\ 1358}# + #{w\ 1359}# + #{s\ 1360}# + #{mod\ 1361}# #{lambda-formals\ 176}# - (cons (cons #{args\ 1430}# - (cons #{e1\ 1431}# #{e2\ 1432}#)) - (map (lambda (#{tmp\ 1439}# - #{tmp\ 1438}# - #{tmp\ 1437}#) - (cons #{tmp\ 1437}# - (cons #{tmp\ 1438}# - #{tmp\ 1439}#))) - #{e2*\ 1435}# - #{e1*\ 1434}# - #{args*\ 1433}#)))) - (lambda (#{docstring\ 1441}# #{lcase\ 1442}#) + (cons (cons #{args\ 1365}# + (cons #{e1\ 1366}# #{e2\ 1367}#)) + (map (lambda (#{tmp\ 1374}# + #{tmp\ 1373}# + #{tmp\ 1372}#) + (cons #{tmp\ 1372}# + (cons #{tmp\ 1373}# + #{tmp\ 1374}#))) + #{e2*\ 1370}# + #{e1*\ 1369}# + #{args*\ 1368}#)))) + (lambda (#{docstring\ 1376}# #{lcase\ 1377}#) (#{build-case-lambda\ 106}# - #{s\ 1425}# - #{docstring\ 1441}# - #{lcase\ 1442}#)))) - #{tmp\ 1428}#) - ((lambda (#{_\ 1443}#) + #{s\ 1360}# + #{docstring\ 1376}# + #{lcase\ 1377}#)))) + #{tmp\ 1363}#) + ((lambda (#{_\ 1378}#) (syntax-violation 'case-lambda "bad case-lambda" - #{e\ 1422}#)) - #{tmp\ 1427}#))) + #{e\ 1357}#)) + #{tmp\ 1362}#))) ($sc-dispatch - #{tmp\ 1427}# + #{tmp\ 1362}# '(any (any any . each-any) . #(each (any any . each-any)))))) - #{e\ 1422}#))) + #{e\ 1357}#))) (#{global-extend\ 129}# 'core 'case-lambda* - (lambda (#{e\ 1444}# - #{r\ 1445}# - #{w\ 1446}# - #{s\ 1447}# - #{mod\ 1448}#) - ((lambda (#{tmp\ 1449}#) - ((lambda (#{tmp\ 1450}#) - (if #{tmp\ 1450}# - (apply (lambda (#{_\ 1451}# - #{args\ 1452}# - #{e1\ 1453}# - #{e2\ 1454}# - #{args*\ 1455}# - #{e1*\ 1456}# - #{e2*\ 1457}#) + (lambda (#{e\ 1379}# + #{r\ 1380}# + #{w\ 1381}# + #{s\ 1382}# + #{mod\ 1383}#) + ((lambda (#{tmp\ 1384}#) + ((lambda (#{tmp\ 1385}#) + (if #{tmp\ 1385}# + (apply (lambda (#{_\ 1386}# + #{args\ 1387}# + #{e1\ 1388}# + #{e2\ 1389}# + #{args*\ 1390}# + #{e1*\ 1391}# + #{e2*\ 1392}#) (call-with-values (lambda () (#{chi-lambda-case\ 179}# - #{e\ 1444}# - #{r\ 1445}# - #{w\ 1446}# - #{s\ 1447}# - #{mod\ 1448}# + #{e\ 1379}# + #{r\ 1380}# + #{w\ 1381}# + #{s\ 1382}# + #{mod\ 1383}# #{lambda*-formals\ 178}# - (cons (cons #{args\ 1452}# - (cons #{e1\ 1453}# #{e2\ 1454}#)) - (map (lambda (#{tmp\ 1461}# - #{tmp\ 1460}# - #{tmp\ 1459}#) - (cons #{tmp\ 1459}# - (cons #{tmp\ 1460}# - #{tmp\ 1461}#))) - #{e2*\ 1457}# - #{e1*\ 1456}# - #{args*\ 1455}#)))) - (lambda (#{docstring\ 1463}# #{lcase\ 1464}#) + (cons (cons #{args\ 1387}# + (cons #{e1\ 1388}# #{e2\ 1389}#)) + (map (lambda (#{tmp\ 1396}# + #{tmp\ 1395}# + #{tmp\ 1394}#) + (cons #{tmp\ 1394}# + (cons #{tmp\ 1395}# + #{tmp\ 1396}#))) + #{e2*\ 1392}# + #{e1*\ 1391}# + #{args*\ 1390}#)))) + (lambda (#{docstring\ 1398}# #{lcase\ 1399}#) (#{build-case-lambda\ 106}# - #{s\ 1447}# - #{docstring\ 1463}# - #{lcase\ 1464}#)))) - #{tmp\ 1450}#) - ((lambda (#{_\ 1465}#) + #{s\ 1382}# + #{docstring\ 1398}# + #{lcase\ 1399}#)))) + #{tmp\ 1385}#) + ((lambda (#{_\ 1400}#) (syntax-violation 'case-lambda "bad case-lambda*" - #{e\ 1444}#)) - #{tmp\ 1449}#))) + #{e\ 1379}#)) + #{tmp\ 1384}#))) ($sc-dispatch - #{tmp\ 1449}# + #{tmp\ 1384}# '(any (any any . each-any) . #(each (any any . each-any)))))) - #{e\ 1444}#))) + #{e\ 1379}#))) (#{global-extend\ 129}# 'core 'let - (letrec ((#{chi-let\ 1466}# - (lambda (#{e\ 1467}# - #{r\ 1468}# - #{w\ 1469}# - #{s\ 1470}# - #{mod\ 1471}# - #{constructor\ 1472}# - #{ids\ 1473}# - #{vals\ 1474}# - #{exps\ 1475}#) - (if (not (#{valid-bound-ids?\ 156}# #{ids\ 1473}#)) + (letrec ((#{chi-let\ 1401}# + (lambda (#{e\ 1402}# + #{r\ 1403}# + #{w\ 1404}# + #{s\ 1405}# + #{mod\ 1406}# + #{constructor\ 1407}# + #{ids\ 1408}# + #{vals\ 1409}# + #{exps\ 1410}#) + (if (not (#{valid-bound-ids?\ 156}# #{ids\ 1408}#)) (syntax-violation 'let "duplicate bound variable" - #{e\ 1467}#) - (let ((#{labels\ 1476}# - (#{gen-labels\ 137}# #{ids\ 1473}#)) - (#{new-vars\ 1477}# - (map #{gen-var\ 181}# #{ids\ 1473}#))) - (let ((#{nw\ 1478}# + #{e\ 1402}#) + (let ((#{labels\ 1411}# + (#{gen-labels\ 137}# #{ids\ 1408}#)) + (#{new-vars\ 1412}# + (map #{gen-var\ 181}# #{ids\ 1408}#))) + (let ((#{nw\ 1413}# (#{make-binding-wrap\ 148}# - #{ids\ 1473}# - #{labels\ 1476}# - #{w\ 1469}#)) - (#{nr\ 1479}# + #{ids\ 1408}# + #{labels\ 1411}# + #{w\ 1404}#)) + (#{nr\ 1414}# (#{extend-var-env\ 126}# - #{labels\ 1476}# - #{new-vars\ 1477}# - #{r\ 1468}#))) - (#{constructor\ 1472}# - #{s\ 1470}# - (map syntax->datum #{ids\ 1473}#) - #{new-vars\ 1477}# - (map (lambda (#{x\ 1480}#) + #{labels\ 1411}# + #{new-vars\ 1412}# + #{r\ 1403}#))) + (#{constructor\ 1407}# + #{s\ 1405}# + (map syntax->datum #{ids\ 1408}#) + #{new-vars\ 1412}# + (map (lambda (#{x\ 1415}#) (#{chi\ 167}# - #{x\ 1480}# - #{r\ 1468}# - #{w\ 1469}# - #{mod\ 1471}#)) - #{vals\ 1474}#) + #{x\ 1415}# + #{r\ 1403}# + #{w\ 1404}# + #{mod\ 1406}#)) + #{vals\ 1409}#) (#{chi-body\ 171}# - #{exps\ 1475}# + #{exps\ 1410}# (#{source-wrap\ 160}# - #{e\ 1467}# - #{nw\ 1478}# - #{s\ 1470}# - #{mod\ 1471}#) - #{nr\ 1479}# - #{nw\ 1478}# - #{mod\ 1471}#)))))))) - (lambda (#{e\ 1481}# - #{r\ 1482}# - #{w\ 1483}# - #{s\ 1484}# - #{mod\ 1485}#) - ((lambda (#{tmp\ 1486}#) - ((lambda (#{tmp\ 1487}#) - (if (if #{tmp\ 1487}# - (apply (lambda (#{_\ 1488}# - #{id\ 1489}# - #{val\ 1490}# - #{e1\ 1491}# - #{e2\ 1492}#) - (and-map #{id?\ 131}# #{id\ 1489}#)) - #{tmp\ 1487}#) + #{e\ 1402}# + #{nw\ 1413}# + #{s\ 1405}# + #{mod\ 1406}#) + #{nr\ 1414}# + #{nw\ 1413}# + #{mod\ 1406}#)))))))) + (lambda (#{e\ 1416}# + #{r\ 1417}# + #{w\ 1418}# + #{s\ 1419}# + #{mod\ 1420}#) + ((lambda (#{tmp\ 1421}#) + ((lambda (#{tmp\ 1422}#) + (if (if #{tmp\ 1422}# + (apply (lambda (#{_\ 1423}# + #{id\ 1424}# + #{val\ 1425}# + #{e1\ 1426}# + #{e2\ 1427}#) + (and-map #{id?\ 131}# #{id\ 1424}#)) + #{tmp\ 1422}#) #f) - (apply (lambda (#{_\ 1494}# - #{id\ 1495}# - #{val\ 1496}# - #{e1\ 1497}# - #{e2\ 1498}#) - (#{chi-let\ 1466}# - #{e\ 1481}# - #{r\ 1482}# - #{w\ 1483}# - #{s\ 1484}# - #{mod\ 1485}# + (apply (lambda (#{_\ 1429}# + #{id\ 1430}# + #{val\ 1431}# + #{e1\ 1432}# + #{e2\ 1433}#) + (#{chi-let\ 1401}# + #{e\ 1416}# + #{r\ 1417}# + #{w\ 1418}# + #{s\ 1419}# + #{mod\ 1420}# #{build-let\ 111}# - #{id\ 1495}# - #{val\ 1496}# - (cons #{e1\ 1497}# #{e2\ 1498}#))) - #{tmp\ 1487}#) - ((lambda (#{tmp\ 1502}#) - (if (if #{tmp\ 1502}# - (apply (lambda (#{_\ 1503}# - #{f\ 1504}# - #{id\ 1505}# - #{val\ 1506}# - #{e1\ 1507}# - #{e2\ 1508}#) - (if (#{id?\ 131}# #{f\ 1504}#) - (and-map #{id?\ 131}# #{id\ 1505}#) + #{id\ 1430}# + #{val\ 1431}# + (cons #{e1\ 1432}# #{e2\ 1433}#))) + #{tmp\ 1422}#) + ((lambda (#{tmp\ 1437}#) + (if (if #{tmp\ 1437}# + (apply (lambda (#{_\ 1438}# + #{f\ 1439}# + #{id\ 1440}# + #{val\ 1441}# + #{e1\ 1442}# + #{e2\ 1443}#) + (if (#{id?\ 131}# #{f\ 1439}#) + (and-map #{id?\ 131}# #{id\ 1440}#) #f)) - #{tmp\ 1502}#) + #{tmp\ 1437}#) #f) - (apply (lambda (#{_\ 1510}# - #{f\ 1511}# - #{id\ 1512}# - #{val\ 1513}# - #{e1\ 1514}# - #{e2\ 1515}#) - (#{chi-let\ 1466}# - #{e\ 1481}# - #{r\ 1482}# - #{w\ 1483}# - #{s\ 1484}# - #{mod\ 1485}# + (apply (lambda (#{_\ 1445}# + #{f\ 1446}# + #{id\ 1447}# + #{val\ 1448}# + #{e1\ 1449}# + #{e2\ 1450}#) + (#{chi-let\ 1401}# + #{e\ 1416}# + #{r\ 1417}# + #{w\ 1418}# + #{s\ 1419}# + #{mod\ 1420}# #{build-named-let\ 112}# - (cons #{f\ 1511}# #{id\ 1512}#) - #{val\ 1513}# - (cons #{e1\ 1514}# #{e2\ 1515}#))) - #{tmp\ 1502}#) - ((lambda (#{_\ 1519}#) + (cons #{f\ 1446}# #{id\ 1447}#) + #{val\ 1448}# + (cons #{e1\ 1449}# #{e2\ 1450}#))) + #{tmp\ 1437}#) + ((lambda (#{_\ 1454}#) (syntax-violation 'let "bad let" (#{source-wrap\ 160}# - #{e\ 1481}# - #{w\ 1483}# - #{s\ 1484}# - #{mod\ 1485}#))) - #{tmp\ 1486}#))) + #{e\ 1416}# + #{w\ 1418}# + #{s\ 1419}# + #{mod\ 1420}#))) + #{tmp\ 1421}#))) ($sc-dispatch - #{tmp\ 1486}# + #{tmp\ 1421}# '(any any #(each (any any)) any . each-any))))) ($sc-dispatch - #{tmp\ 1486}# + #{tmp\ 1421}# '(any #(each (any any)) any . each-any)))) - #{e\ 1481}#)))) + #{e\ 1416}#)))) (#{global-extend\ 129}# 'core 'letrec - (lambda (#{e\ 1520}# - #{r\ 1521}# - #{w\ 1522}# - #{s\ 1523}# - #{mod\ 1524}#) - ((lambda (#{tmp\ 1525}#) - ((lambda (#{tmp\ 1526}#) - (if (if #{tmp\ 1526}# - (apply (lambda (#{_\ 1527}# - #{id\ 1528}# - #{val\ 1529}# - #{e1\ 1530}# - #{e2\ 1531}#) - (and-map #{id?\ 131}# #{id\ 1528}#)) - #{tmp\ 1526}#) + (lambda (#{e\ 1455}# + #{r\ 1456}# + #{w\ 1457}# + #{s\ 1458}# + #{mod\ 1459}#) + ((lambda (#{tmp\ 1460}#) + ((lambda (#{tmp\ 1461}#) + (if (if #{tmp\ 1461}# + (apply (lambda (#{_\ 1462}# + #{id\ 1463}# + #{val\ 1464}# + #{e1\ 1465}# + #{e2\ 1466}#) + (and-map #{id?\ 131}# #{id\ 1463}#)) + #{tmp\ 1461}#) #f) - (apply (lambda (#{_\ 1533}# - #{id\ 1534}# - #{val\ 1535}# - #{e1\ 1536}# - #{e2\ 1537}#) - (let ((#{ids\ 1538}# #{id\ 1534}#)) + (apply (lambda (#{_\ 1468}# + #{id\ 1469}# + #{val\ 1470}# + #{e1\ 1471}# + #{e2\ 1472}#) + (let ((#{ids\ 1473}# #{id\ 1469}#)) (if (not (#{valid-bound-ids?\ 156}# - #{ids\ 1538}#)) + #{ids\ 1473}#)) (syntax-violation 'letrec "duplicate bound variable" - #{e\ 1520}#) - (let ((#{labels\ 1540}# - (#{gen-labels\ 137}# #{ids\ 1538}#)) - (#{new-vars\ 1541}# - (map #{gen-var\ 181}# #{ids\ 1538}#))) - (let ((#{w\ 1542}# + #{e\ 1455}#) + (let ((#{labels\ 1475}# + (#{gen-labels\ 137}# #{ids\ 1473}#)) + (#{new-vars\ 1476}# + (map #{gen-var\ 181}# #{ids\ 1473}#))) + (let ((#{w\ 1477}# (#{make-binding-wrap\ 148}# - #{ids\ 1538}# - #{labels\ 1540}# - #{w\ 1522}#)) - (#{r\ 1543}# + #{ids\ 1473}# + #{labels\ 1475}# + #{w\ 1457}#)) + (#{r\ 1478}# (#{extend-var-env\ 126}# - #{labels\ 1540}# - #{new-vars\ 1541}# - #{r\ 1521}#))) + #{labels\ 1475}# + #{new-vars\ 1476}# + #{r\ 1456}#))) (#{build-letrec\ 113}# - #{s\ 1523}# - (map syntax->datum #{ids\ 1538}#) - #{new-vars\ 1541}# - (map (lambda (#{x\ 1544}#) + #{s\ 1458}# + (map syntax->datum #{ids\ 1473}#) + #{new-vars\ 1476}# + (map (lambda (#{x\ 1479}#) (#{chi\ 167}# - #{x\ 1544}# - #{r\ 1543}# - #{w\ 1542}# - #{mod\ 1524}#)) - #{val\ 1535}#) + #{x\ 1479}# + #{r\ 1478}# + #{w\ 1477}# + #{mod\ 1459}#)) + #{val\ 1470}#) (#{chi-body\ 171}# - (cons #{e1\ 1536}# #{e2\ 1537}#) + (cons #{e1\ 1471}# #{e2\ 1472}#) (#{source-wrap\ 160}# - #{e\ 1520}# - #{w\ 1542}# - #{s\ 1523}# - #{mod\ 1524}#) - #{r\ 1543}# - #{w\ 1542}# - #{mod\ 1524}#))))))) - #{tmp\ 1526}#) - ((lambda (#{_\ 1547}#) + #{e\ 1455}# + #{w\ 1477}# + #{s\ 1458}# + #{mod\ 1459}#) + #{r\ 1478}# + #{w\ 1477}# + #{mod\ 1459}#))))))) + #{tmp\ 1461}#) + ((lambda (#{_\ 1482}#) (syntax-violation 'letrec "bad letrec" (#{source-wrap\ 160}# - #{e\ 1520}# - #{w\ 1522}# - #{s\ 1523}# - #{mod\ 1524}#))) - #{tmp\ 1525}#))) + #{e\ 1455}# + #{w\ 1457}# + #{s\ 1458}# + #{mod\ 1459}#))) + #{tmp\ 1460}#))) ($sc-dispatch - #{tmp\ 1525}# + #{tmp\ 1460}# '(any #(each (any any)) any . each-any)))) - #{e\ 1520}#))) + #{e\ 1455}#))) (#{global-extend\ 129}# 'core 'set! - (lambda (#{e\ 1548}# - #{r\ 1549}# - #{w\ 1550}# - #{s\ 1551}# - #{mod\ 1552}#) - ((lambda (#{tmp\ 1553}#) - ((lambda (#{tmp\ 1554}#) - (if (if #{tmp\ 1554}# - (apply (lambda (#{_\ 1555}# #{id\ 1556}# #{val\ 1557}#) - (#{id?\ 131}# #{id\ 1556}#)) - #{tmp\ 1554}#) + (lambda (#{e\ 1483}# + #{r\ 1484}# + #{w\ 1485}# + #{s\ 1486}# + #{mod\ 1487}#) + ((lambda (#{tmp\ 1488}#) + ((lambda (#{tmp\ 1489}#) + (if (if #{tmp\ 1489}# + (apply (lambda (#{_\ 1490}# #{id\ 1491}# #{val\ 1492}#) + (#{id?\ 131}# #{id\ 1491}#)) + #{tmp\ 1489}#) #f) - (apply (lambda (#{_\ 1558}# #{id\ 1559}# #{val\ 1560}#) - (let ((#{val\ 1561}# + (apply (lambda (#{_\ 1493}# #{id\ 1494}# #{val\ 1495}#) + (let ((#{val\ 1496}# (#{chi\ 167}# - #{val\ 1560}# - #{r\ 1549}# - #{w\ 1550}# - #{mod\ 1552}#)) - (#{n\ 1562}# + #{val\ 1495}# + #{r\ 1484}# + #{w\ 1485}# + #{mod\ 1487}#)) + (#{n\ 1497}# (#{id-var-name\ 153}# - #{id\ 1559}# - #{w\ 1550}#))) - (let ((#{b\ 1563}# + #{id\ 1494}# + #{w\ 1485}#))) + (let ((#{b\ 1498}# (#{lookup\ 128}# - #{n\ 1562}# - #{r\ 1549}# - #{mod\ 1552}#))) - (let ((#{atom-key\ 1564}# - (#{binding-type\ 123}# #{b\ 1563}#))) - (if (memv #{atom-key\ 1564}# + #{n\ 1497}# + #{r\ 1484}# + #{mod\ 1487}#))) + (let ((#{atom-key\ 1499}# + (#{binding-type\ 123}# #{b\ 1498}#))) + (if (memv #{atom-key\ 1499}# '(lexical)) (#{build-lexical-assignment\ 99}# - #{s\ 1551}# - (syntax->datum #{id\ 1559}#) - (#{binding-value\ 124}# #{b\ 1563}#) - #{val\ 1561}#) - (if (memv #{atom-key\ 1564}# + #{s\ 1486}# + (syntax->datum #{id\ 1494}#) + (#{binding-value\ 124}# #{b\ 1498}#) + #{val\ 1496}#) + (if (memv #{atom-key\ 1499}# '(global)) (#{build-global-assignment\ 102}# - #{s\ 1551}# - #{n\ 1562}# - #{val\ 1561}# - #{mod\ 1552}#) - (if (memv #{atom-key\ 1564}# + #{s\ 1486}# + #{n\ 1497}# + #{val\ 1496}# + #{mod\ 1487}#) + (if (memv #{atom-key\ 1499}# '(displaced-lexical)) (syntax-violation 'set! "identifier out of context" (#{wrap\ 159}# - #{id\ 1559}# - #{w\ 1550}# - #{mod\ 1552}#)) + #{id\ 1494}# + #{w\ 1485}# + #{mod\ 1487}#)) (syntax-violation 'set! "bad set!" (#{source-wrap\ 160}# - #{e\ 1548}# - #{w\ 1550}# - #{s\ 1551}# - #{mod\ 1552}#))))))))) - #{tmp\ 1554}#) - ((lambda (#{tmp\ 1565}#) - (if #{tmp\ 1565}# - (apply (lambda (#{_\ 1566}# - #{head\ 1567}# - #{tail\ 1568}# - #{val\ 1569}#) + #{e\ 1483}# + #{w\ 1485}# + #{s\ 1486}# + #{mod\ 1487}#))))))))) + #{tmp\ 1489}#) + ((lambda (#{tmp\ 1500}#) + (if #{tmp\ 1500}# + (apply (lambda (#{_\ 1501}# + #{head\ 1502}# + #{tail\ 1503}# + #{val\ 1504}#) (call-with-values (lambda () (#{syntax-type\ 165}# - #{head\ 1567}# - #{r\ 1549}# + #{head\ 1502}# + #{r\ 1484}# '(()) #f #f - #{mod\ 1552}# + #{mod\ 1487}# #t)) - (lambda (#{type\ 1570}# - #{value\ 1571}# - #{ee\ 1572}# - #{ww\ 1573}# - #{ss\ 1574}# - #{modmod\ 1575}#) - (if (memv #{type\ 1570}# + (lambda (#{type\ 1505}# + #{value\ 1506}# + #{ee\ 1507}# + #{ww\ 1508}# + #{ss\ 1509}# + #{modmod\ 1510}#) + (if (memv #{type\ 1505}# '(module-ref)) - (let ((#{val\ 1576}# + (let ((#{val\ 1511}# (#{chi\ 167}# - #{val\ 1569}# - #{r\ 1549}# - #{w\ 1550}# - #{mod\ 1552}#))) + #{val\ 1504}# + #{r\ 1484}# + #{w\ 1485}# + #{mod\ 1487}#))) (call-with-values (lambda () - (#{value\ 1571}# - (cons #{head\ 1567}# - #{tail\ 1568}#))) - (lambda (#{id\ 1578}# #{mod\ 1579}#) + (#{value\ 1506}# + (cons #{head\ 1502}# + #{tail\ 1503}#))) + (lambda (#{id\ 1513}# #{mod\ 1514}#) (#{build-global-assignment\ 102}# - #{s\ 1551}# - #{id\ 1578}# - #{val\ 1576}# - #{mod\ 1579}#)))) + #{s\ 1486}# + #{id\ 1513}# + #{val\ 1511}# + #{mod\ 1514}#)))) (#{build-application\ 96}# - #{s\ 1551}# + #{s\ 1486}# (#{chi\ 167}# (list '#(syntax-object setter @@ -9578,53 +9337,53 @@ ((top) (top)) ("i" "i"))) (hygiene guile)) - #{head\ 1567}#) - #{r\ 1549}# - #{w\ 1550}# - #{mod\ 1552}#) - (map (lambda (#{e\ 1580}#) + #{head\ 1502}#) + #{r\ 1484}# + #{w\ 1485}# + #{mod\ 1487}#) + (map (lambda (#{e\ 1515}#) (#{chi\ 167}# - #{e\ 1580}# - #{r\ 1549}# - #{w\ 1550}# - #{mod\ 1552}#)) + #{e\ 1515}# + #{r\ 1484}# + #{w\ 1485}# + #{mod\ 1487}#)) (append - #{tail\ 1568}# - (list #{val\ 1569}#)))))))) - #{tmp\ 1565}#) - ((lambda (#{_\ 1582}#) + #{tail\ 1503}# + (list #{val\ 1504}#)))))))) + #{tmp\ 1500}#) + ((lambda (#{_\ 1517}#) (syntax-violation 'set! "bad set!" (#{source-wrap\ 160}# - #{e\ 1548}# - #{w\ 1550}# - #{s\ 1551}# - #{mod\ 1552}#))) - #{tmp\ 1553}#))) + #{e\ 1483}# + #{w\ 1485}# + #{s\ 1486}# + #{mod\ 1487}#))) + #{tmp\ 1488}#))) ($sc-dispatch - #{tmp\ 1553}# + #{tmp\ 1488}# '(any (any . each-any) any))))) ($sc-dispatch - #{tmp\ 1553}# + #{tmp\ 1488}# '(any any any)))) - #{e\ 1548}#))) + #{e\ 1483}#))) (#{global-extend\ 129}# 'module-ref '@ - (lambda (#{e\ 1583}#) - ((lambda (#{tmp\ 1584}#) - ((lambda (#{tmp\ 1585}#) - (if (if #{tmp\ 1585}# - (apply (lambda (#{_\ 1586}# #{mod\ 1587}# #{id\ 1588}#) - (if (and-map #{id?\ 131}# #{mod\ 1587}#) - (#{id?\ 131}# #{id\ 1588}#) + (lambda (#{e\ 1518}#) + ((lambda (#{tmp\ 1519}#) + ((lambda (#{tmp\ 1520}#) + (if (if #{tmp\ 1520}# + (apply (lambda (#{_\ 1521}# #{mod\ 1522}# #{id\ 1523}#) + (if (and-map #{id?\ 131}# #{mod\ 1522}#) + (#{id?\ 131}# #{id\ 1523}#) #f)) - #{tmp\ 1585}#) + #{tmp\ 1520}#) #f) - (apply (lambda (#{_\ 1590}# #{mod\ 1591}# #{id\ 1592}#) + (apply (lambda (#{_\ 1525}# #{mod\ 1526}# #{id\ 1527}#) (values - (syntax->datum #{id\ 1592}#) + (syntax->datum #{id\ 1527}#) (syntax->datum (cons '#(syntax-object public @@ -9992,32 +9751,32 @@ ((top) (top)) ("i" "i"))) (hygiene guile)) - #{mod\ 1591}#)))) - #{tmp\ 1585}#) + #{mod\ 1526}#)))) + #{tmp\ 1520}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1584}#))) + #{tmp\ 1519}#))) ($sc-dispatch - #{tmp\ 1584}# + #{tmp\ 1519}# '(any each-any any)))) - #{e\ 1583}#))) + #{e\ 1518}#))) (#{global-extend\ 129}# 'module-ref '@@ - (lambda (#{e\ 1594}#) - ((lambda (#{tmp\ 1595}#) - ((lambda (#{tmp\ 1596}#) - (if (if #{tmp\ 1596}# - (apply (lambda (#{_\ 1597}# #{mod\ 1598}# #{id\ 1599}#) - (if (and-map #{id?\ 131}# #{mod\ 1598}#) - (#{id?\ 131}# #{id\ 1599}#) + (lambda (#{e\ 1529}#) + ((lambda (#{tmp\ 1530}#) + ((lambda (#{tmp\ 1531}#) + (if (if #{tmp\ 1531}# + (apply (lambda (#{_\ 1532}# #{mod\ 1533}# #{id\ 1534}#) + (if (and-map #{id?\ 131}# #{mod\ 1533}#) + (#{id?\ 131}# #{id\ 1534}#) #f)) - #{tmp\ 1596}#) + #{tmp\ 1531}#) #f) - (apply (lambda (#{_\ 1601}# #{mod\ 1602}# #{id\ 1603}#) + (apply (lambda (#{_\ 1536}# #{mod\ 1537}# #{id\ 1538}#) (values - (syntax->datum #{id\ 1603}#) + (syntax->datum #{id\ 1538}#) (syntax->datum (cons '#(syntax-object private @@ -10385,77 +10144,77 @@ ((top) (top)) ("i" "i"))) (hygiene guile)) - #{mod\ 1602}#)))) - #{tmp\ 1596}#) + #{mod\ 1537}#)))) + #{tmp\ 1531}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1595}#))) + #{tmp\ 1530}#))) ($sc-dispatch - #{tmp\ 1595}# + #{tmp\ 1530}# '(any each-any any)))) - #{e\ 1594}#))) + #{e\ 1529}#))) (#{global-extend\ 129}# 'core 'if - (lambda (#{e\ 1605}# - #{r\ 1606}# - #{w\ 1607}# - #{s\ 1608}# - #{mod\ 1609}#) - ((lambda (#{tmp\ 1610}#) - ((lambda (#{tmp\ 1611}#) - (if #{tmp\ 1611}# - (apply (lambda (#{_\ 1612}# #{test\ 1613}# #{then\ 1614}#) + (lambda (#{e\ 1540}# + #{r\ 1541}# + #{w\ 1542}# + #{s\ 1543}# + #{mod\ 1544}#) + ((lambda (#{tmp\ 1545}#) + ((lambda (#{tmp\ 1546}#) + (if #{tmp\ 1546}# + (apply (lambda (#{_\ 1547}# #{test\ 1548}# #{then\ 1549}#) (#{build-conditional\ 97}# - #{s\ 1608}# + #{s\ 1543}# (#{chi\ 167}# - #{test\ 1613}# - #{r\ 1606}# - #{w\ 1607}# - #{mod\ 1609}#) + #{test\ 1548}# + #{r\ 1541}# + #{w\ 1542}# + #{mod\ 1544}#) (#{chi\ 167}# - #{then\ 1614}# - #{r\ 1606}# - #{w\ 1607}# - #{mod\ 1609}#) + #{then\ 1549}# + #{r\ 1541}# + #{w\ 1542}# + #{mod\ 1544}#) (#{build-void\ 95}# #f))) - #{tmp\ 1611}#) - ((lambda (#{tmp\ 1615}#) - (if #{tmp\ 1615}# - (apply (lambda (#{_\ 1616}# - #{test\ 1617}# - #{then\ 1618}# - #{else\ 1619}#) + #{tmp\ 1546}#) + ((lambda (#{tmp\ 1550}#) + (if #{tmp\ 1550}# + (apply (lambda (#{_\ 1551}# + #{test\ 1552}# + #{then\ 1553}# + #{else\ 1554}#) (#{build-conditional\ 97}# - #{s\ 1608}# + #{s\ 1543}# (#{chi\ 167}# - #{test\ 1617}# - #{r\ 1606}# - #{w\ 1607}# - #{mod\ 1609}#) + #{test\ 1552}# + #{r\ 1541}# + #{w\ 1542}# + #{mod\ 1544}#) (#{chi\ 167}# - #{then\ 1618}# - #{r\ 1606}# - #{w\ 1607}# - #{mod\ 1609}#) + #{then\ 1553}# + #{r\ 1541}# + #{w\ 1542}# + #{mod\ 1544}#) (#{chi\ 167}# - #{else\ 1619}# - #{r\ 1606}# - #{w\ 1607}# - #{mod\ 1609}#))) - #{tmp\ 1615}#) + #{else\ 1554}# + #{r\ 1541}# + #{w\ 1542}# + #{mod\ 1544}#))) + #{tmp\ 1550}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1610}#))) + #{tmp\ 1545}#))) ($sc-dispatch - #{tmp\ 1610}# + #{tmp\ 1545}# '(any any any any))))) ($sc-dispatch - #{tmp\ 1610}# + #{tmp\ 1545}# '(any any any)))) - #{e\ 1605}#))) + #{e\ 1540}#))) (#{global-extend\ 129}# 'begin 'begin @@ -10475,13 +10234,13 @@ (#{global-extend\ 129}# 'core 'syntax-case - (letrec ((#{gen-syntax-case\ 1623}# - (lambda (#{x\ 1624}# - #{keys\ 1625}# - #{clauses\ 1626}# - #{r\ 1627}# - #{mod\ 1628}#) - (if (null? #{clauses\ 1626}#) + (letrec ((#{gen-syntax-case\ 1558}# + (lambda (#{x\ 1559}# + #{keys\ 1560}# + #{clauses\ 1561}# + #{r\ 1562}# + #{mod\ 1563}#) + (if (null? #{clauses\ 1561}#) (#{build-application\ 96}# #f (#{build-primref\ 108}# @@ -10491,17 +10250,17 @@ (#{build-data\ 109}# #f "source expression failed to match any pattern") - #{x\ 1624}#)) - ((lambda (#{tmp\ 1629}#) - ((lambda (#{tmp\ 1630}#) - (if #{tmp\ 1630}# - (apply (lambda (#{pat\ 1631}# #{exp\ 1632}#) - (if (if (#{id?\ 131}# #{pat\ 1631}#) + #{x\ 1559}#)) + ((lambda (#{tmp\ 1564}#) + ((lambda (#{tmp\ 1565}#) + (if #{tmp\ 1565}# + (apply (lambda (#{pat\ 1566}# #{exp\ 1567}#) + (if (if (#{id?\ 131}# #{pat\ 1566}#) (and-map - (lambda (#{x\ 1633}#) + (lambda (#{x\ 1568}#) (not (#{free-id=?\ 154}# - #{pat\ 1631}# - #{x\ 1633}#))) + #{pat\ 1566}# + #{x\ 1568}#))) (cons '#(syntax-object ... ((top) @@ -10894,103 +10653,103 @@ ((top) (top)) ("i" "i"))) (hygiene guile)) - #{keys\ 1625}#)) + #{keys\ 1560}#)) #f) - (let ((#{labels\ 1634}# + (let ((#{labels\ 1569}# (list (#{gen-label\ 136}#))) - (#{var\ 1635}# + (#{var\ 1570}# (#{gen-var\ 181}# - #{pat\ 1631}#))) + #{pat\ 1566}#))) (#{build-application\ 96}# #f (#{build-simple-lambda\ 105}# #f (list (syntax->datum - #{pat\ 1631}#)) + #{pat\ 1566}#)) #f - (list #{var\ 1635}#) + (list #{var\ 1570}#) #f (#{chi\ 167}# - #{exp\ 1632}# + #{exp\ 1567}# (#{extend-env\ 125}# - #{labels\ 1634}# + #{labels\ 1569}# (list (cons 'syntax - (cons #{var\ 1635}# + (cons #{var\ 1570}# 0))) - #{r\ 1627}#) + #{r\ 1562}#) (#{make-binding-wrap\ 148}# - (list #{pat\ 1631}#) - #{labels\ 1634}# + (list #{pat\ 1566}#) + #{labels\ 1569}# '(())) - #{mod\ 1628}#)) - (list #{x\ 1624}#))) - (#{gen-clause\ 1622}# - #{x\ 1624}# - #{keys\ 1625}# - (cdr #{clauses\ 1626}#) - #{r\ 1627}# - #{pat\ 1631}# + #{mod\ 1563}#)) + (list #{x\ 1559}#))) + (#{gen-clause\ 1557}# + #{x\ 1559}# + #{keys\ 1560}# + (cdr #{clauses\ 1561}#) + #{r\ 1562}# + #{pat\ 1566}# #t - #{exp\ 1632}# - #{mod\ 1628}#))) - #{tmp\ 1630}#) - ((lambda (#{tmp\ 1636}#) - (if #{tmp\ 1636}# - (apply (lambda (#{pat\ 1637}# - #{fender\ 1638}# - #{exp\ 1639}#) - (#{gen-clause\ 1622}# - #{x\ 1624}# - #{keys\ 1625}# - (cdr #{clauses\ 1626}#) - #{r\ 1627}# - #{pat\ 1637}# - #{fender\ 1638}# - #{exp\ 1639}# - #{mod\ 1628}#)) - #{tmp\ 1636}#) - ((lambda (#{_\ 1640}#) + #{exp\ 1567}# + #{mod\ 1563}#))) + #{tmp\ 1565}#) + ((lambda (#{tmp\ 1571}#) + (if #{tmp\ 1571}# + (apply (lambda (#{pat\ 1572}# + #{fender\ 1573}# + #{exp\ 1574}#) + (#{gen-clause\ 1557}# + #{x\ 1559}# + #{keys\ 1560}# + (cdr #{clauses\ 1561}#) + #{r\ 1562}# + #{pat\ 1572}# + #{fender\ 1573}# + #{exp\ 1574}# + #{mod\ 1563}#)) + #{tmp\ 1571}#) + ((lambda (#{_\ 1575}#) (syntax-violation 'syntax-case "invalid clause" - (car #{clauses\ 1626}#))) - #{tmp\ 1629}#))) + (car #{clauses\ 1561}#))) + #{tmp\ 1564}#))) ($sc-dispatch - #{tmp\ 1629}# + #{tmp\ 1564}# '(any any any))))) - ($sc-dispatch #{tmp\ 1629}# (quote (any any))))) - (car #{clauses\ 1626}#))))) - (#{gen-clause\ 1622}# - (lambda (#{x\ 1641}# - #{keys\ 1642}# - #{clauses\ 1643}# - #{r\ 1644}# - #{pat\ 1645}# - #{fender\ 1646}# - #{exp\ 1647}# - #{mod\ 1648}#) + ($sc-dispatch #{tmp\ 1564}# (quote (any any))))) + (car #{clauses\ 1561}#))))) + (#{gen-clause\ 1557}# + (lambda (#{x\ 1576}# + #{keys\ 1577}# + #{clauses\ 1578}# + #{r\ 1579}# + #{pat\ 1580}# + #{fender\ 1581}# + #{exp\ 1582}# + #{mod\ 1583}#) (call-with-values (lambda () - (#{convert-pattern\ 1620}# - #{pat\ 1645}# - #{keys\ 1642}#)) - (lambda (#{p\ 1649}# #{pvars\ 1650}#) + (#{convert-pattern\ 1555}# + #{pat\ 1580}# + #{keys\ 1577}#)) + (lambda (#{p\ 1584}# #{pvars\ 1585}#) (if (not (#{distinct-bound-ids?\ 157}# - (map car #{pvars\ 1650}#))) + (map car #{pvars\ 1585}#))) (syntax-violation 'syntax-case "duplicate pattern variable" - #{pat\ 1645}#) + #{pat\ 1580}#) (if (not (and-map - (lambda (#{x\ 1651}#) + (lambda (#{x\ 1586}#) (not (#{ellipsis?\ 175}# - (car #{x\ 1651}#)))) - #{pvars\ 1650}#)) + (car #{x\ 1586}#)))) + #{pvars\ 1585}#)) (syntax-violation 'syntax-case "misplaced ellipsis" - #{pat\ 1645}#) - (let ((#{y\ 1652}# + #{pat\ 1580}#) + (let ((#{y\ 1587}# (#{gen-var\ 181}# (quote tmp)))) (#{build-application\ 96}# #f @@ -10998,630 +10757,630 @@ #f (list (quote tmp)) #f - (list #{y\ 1652}#) + (list #{y\ 1587}#) #f - (let ((#{y\ 1653}# + (let ((#{y\ 1588}# (#{build-lexical-reference\ 98}# 'value #f 'tmp - #{y\ 1652}#))) + #{y\ 1587}#))) (#{build-conditional\ 97}# #f - ((lambda (#{tmp\ 1654}#) - ((lambda (#{tmp\ 1655}#) - (if #{tmp\ 1655}# - (apply (lambda () #{y\ 1653}#) - #{tmp\ 1655}#) - ((lambda (#{_\ 1656}#) + ((lambda (#{tmp\ 1589}#) + ((lambda (#{tmp\ 1590}#) + (if #{tmp\ 1590}# + (apply (lambda () #{y\ 1588}#) + #{tmp\ 1590}#) + ((lambda (#{_\ 1591}#) (#{build-conditional\ 97}# #f - #{y\ 1653}# - (#{build-dispatch-call\ 1621}# - #{pvars\ 1650}# - #{fender\ 1646}# - #{y\ 1653}# - #{r\ 1644}# - #{mod\ 1648}#) + #{y\ 1588}# + (#{build-dispatch-call\ 1556}# + #{pvars\ 1585}# + #{fender\ 1581}# + #{y\ 1588}# + #{r\ 1579}# + #{mod\ 1583}#) (#{build-data\ 109}# #f #f))) - #{tmp\ 1654}#))) + #{tmp\ 1589}#))) ($sc-dispatch - #{tmp\ 1654}# + #{tmp\ 1589}# '#(atom #t)))) - #{fender\ 1646}#) - (#{build-dispatch-call\ 1621}# - #{pvars\ 1650}# - #{exp\ 1647}# - #{y\ 1653}# - #{r\ 1644}# - #{mod\ 1648}#) - (#{gen-syntax-case\ 1623}# - #{x\ 1641}# - #{keys\ 1642}# - #{clauses\ 1643}# - #{r\ 1644}# - #{mod\ 1648}#)))) - (list (if (eq? #{p\ 1649}# (quote any)) + #{fender\ 1581}#) + (#{build-dispatch-call\ 1556}# + #{pvars\ 1585}# + #{exp\ 1582}# + #{y\ 1588}# + #{r\ 1579}# + #{mod\ 1583}#) + (#{gen-syntax-case\ 1558}# + #{x\ 1576}# + #{keys\ 1577}# + #{clauses\ 1578}# + #{r\ 1579}# + #{mod\ 1583}#)))) + (list (if (eq? #{p\ 1584}# (quote any)) (#{build-application\ 96}# #f (#{build-primref\ 108}# #f 'list) - (list #{x\ 1641}#)) + (list #{x\ 1576}#)) (#{build-application\ 96}# #f (#{build-primref\ 108}# #f '$sc-dispatch) - (list #{x\ 1641}# + (list #{x\ 1576}# (#{build-data\ 109}# #f - #{p\ 1649}#))))))))))))) - (#{build-dispatch-call\ 1621}# - (lambda (#{pvars\ 1657}# - #{exp\ 1658}# - #{y\ 1659}# - #{r\ 1660}# - #{mod\ 1661}#) - (let ((#{ids\ 1662}# (map car #{pvars\ 1657}#)) - (#{levels\ 1663}# (map cdr #{pvars\ 1657}#))) - (let ((#{labels\ 1664}# - (#{gen-labels\ 137}# #{ids\ 1662}#)) - (#{new-vars\ 1665}# - (map #{gen-var\ 181}# #{ids\ 1662}#))) + #{p\ 1584}#))))))))))))) + (#{build-dispatch-call\ 1556}# + (lambda (#{pvars\ 1592}# + #{exp\ 1593}# + #{y\ 1594}# + #{r\ 1595}# + #{mod\ 1596}#) + (let ((#{ids\ 1597}# (map car #{pvars\ 1592}#)) + (#{levels\ 1598}# (map cdr #{pvars\ 1592}#))) + (let ((#{labels\ 1599}# + (#{gen-labels\ 137}# #{ids\ 1597}#)) + (#{new-vars\ 1600}# + (map #{gen-var\ 181}# #{ids\ 1597}#))) (#{build-application\ 96}# #f (#{build-primref\ 108}# #f (quote apply)) (list (#{build-simple-lambda\ 105}# #f - (map syntax->datum #{ids\ 1662}#) + (map syntax->datum #{ids\ 1597}#) #f - #{new-vars\ 1665}# + #{new-vars\ 1600}# #f (#{chi\ 167}# - #{exp\ 1658}# + #{exp\ 1593}# (#{extend-env\ 125}# - #{labels\ 1664}# - (map (lambda (#{var\ 1666}# - #{level\ 1667}#) + #{labels\ 1599}# + (map (lambda (#{var\ 1601}# + #{level\ 1602}#) (cons 'syntax - (cons #{var\ 1666}# - #{level\ 1667}#))) - #{new-vars\ 1665}# - (map cdr #{pvars\ 1657}#)) - #{r\ 1660}#) + (cons #{var\ 1601}# + #{level\ 1602}#))) + #{new-vars\ 1600}# + (map cdr #{pvars\ 1592}#)) + #{r\ 1595}#) (#{make-binding-wrap\ 148}# - #{ids\ 1662}# - #{labels\ 1664}# + #{ids\ 1597}# + #{labels\ 1599}# '(())) - #{mod\ 1661}#)) - #{y\ 1659}#)))))) - (#{convert-pattern\ 1620}# - (lambda (#{pattern\ 1668}# #{keys\ 1669}#) - (letrec ((#{cvt\ 1670}# - (lambda (#{p\ 1671}# #{n\ 1672}# #{ids\ 1673}#) - (if (#{id?\ 131}# #{p\ 1671}#) + #{mod\ 1596}#)) + #{y\ 1594}#)))))) + (#{convert-pattern\ 1555}# + (lambda (#{pattern\ 1603}# #{keys\ 1604}#) + (letrec ((#{cvt\ 1605}# + (lambda (#{p\ 1606}# #{n\ 1607}# #{ids\ 1608}#) + (if (#{id?\ 131}# #{p\ 1606}#) (if (#{bound-id-member?\ 158}# - #{p\ 1671}# - #{keys\ 1669}#) + #{p\ 1606}# + #{keys\ 1604}#) (values - (vector (quote free-id) #{p\ 1671}#) - #{ids\ 1673}#) + (vector (quote free-id) #{p\ 1606}#) + #{ids\ 1608}#) (values 'any - (cons (cons #{p\ 1671}# #{n\ 1672}#) - #{ids\ 1673}#))) - ((lambda (#{tmp\ 1674}#) - ((lambda (#{tmp\ 1675}#) - (if (if #{tmp\ 1675}# - (apply (lambda (#{x\ 1676}# - #{dots\ 1677}#) + (cons (cons #{p\ 1606}# #{n\ 1607}#) + #{ids\ 1608}#))) + ((lambda (#{tmp\ 1609}#) + ((lambda (#{tmp\ 1610}#) + (if (if #{tmp\ 1610}# + (apply (lambda (#{x\ 1611}# + #{dots\ 1612}#) (#{ellipsis?\ 175}# - #{dots\ 1677}#)) - #{tmp\ 1675}#) + #{dots\ 1612}#)) + #{tmp\ 1610}#) #f) - (apply (lambda (#{x\ 1678}# - #{dots\ 1679}#) + (apply (lambda (#{x\ 1613}# + #{dots\ 1614}#) (call-with-values (lambda () - (#{cvt\ 1670}# - #{x\ 1678}# + (#{cvt\ 1605}# + #{x\ 1613}# (#{fx+\ 86}# - #{n\ 1672}# + #{n\ 1607}# 1) - #{ids\ 1673}#)) - (lambda (#{p\ 1680}# - #{ids\ 1681}#) + #{ids\ 1608}#)) + (lambda (#{p\ 1615}# + #{ids\ 1616}#) (values - (if (eq? #{p\ 1680}# + (if (eq? #{p\ 1615}# 'any) 'each-any (vector 'each - #{p\ 1680}#)) - #{ids\ 1681}#)))) - #{tmp\ 1675}#) - ((lambda (#{tmp\ 1682}#) - (if #{tmp\ 1682}# - (apply (lambda (#{x\ 1683}# - #{y\ 1684}#) + #{p\ 1615}#)) + #{ids\ 1616}#)))) + #{tmp\ 1610}#) + ((lambda (#{tmp\ 1617}#) + (if #{tmp\ 1617}# + (apply (lambda (#{x\ 1618}# + #{y\ 1619}#) (call-with-values (lambda () - (#{cvt\ 1670}# - #{y\ 1684}# - #{n\ 1672}# - #{ids\ 1673}#)) - (lambda (#{y\ 1685}# - #{ids\ 1686}#) + (#{cvt\ 1605}# + #{y\ 1619}# + #{n\ 1607}# + #{ids\ 1608}#)) + (lambda (#{y\ 1620}# + #{ids\ 1621}#) (call-with-values (lambda () - (#{cvt\ 1670}# - #{x\ 1683}# - #{n\ 1672}# - #{ids\ 1686}#)) - (lambda (#{x\ 1687}# - #{ids\ 1688}#) + (#{cvt\ 1605}# + #{x\ 1618}# + #{n\ 1607}# + #{ids\ 1621}#)) + (lambda (#{x\ 1622}# + #{ids\ 1623}#) (values - (cons #{x\ 1687}# - #{y\ 1685}#) - #{ids\ 1688}#)))))) - #{tmp\ 1682}#) - ((lambda (#{tmp\ 1689}#) - (if #{tmp\ 1689}# + (cons #{x\ 1622}# + #{y\ 1620}#) + #{ids\ 1623}#)))))) + #{tmp\ 1617}#) + ((lambda (#{tmp\ 1624}#) + (if #{tmp\ 1624}# (apply (lambda () (values '() - #{ids\ 1673}#)) - #{tmp\ 1689}#) - ((lambda (#{tmp\ 1690}#) - (if #{tmp\ 1690}# - (apply (lambda (#{x\ 1691}#) + #{ids\ 1608}#)) + #{tmp\ 1624}#) + ((lambda (#{tmp\ 1625}#) + (if #{tmp\ 1625}# + (apply (lambda (#{x\ 1626}#) (call-with-values (lambda () - (#{cvt\ 1670}# - #{x\ 1691}# - #{n\ 1672}# - #{ids\ 1673}#)) - (lambda (#{p\ 1693}# - #{ids\ 1694}#) + (#{cvt\ 1605}# + #{x\ 1626}# + #{n\ 1607}# + #{ids\ 1608}#)) + (lambda (#{p\ 1628}# + #{ids\ 1629}#) (values (vector 'vector - #{p\ 1693}#) - #{ids\ 1694}#)))) - #{tmp\ 1690}#) - ((lambda (#{x\ 1695}#) + #{p\ 1628}#) + #{ids\ 1629}#)))) + #{tmp\ 1625}#) + ((lambda (#{x\ 1630}#) (values (vector 'atom (#{strip\ 180}# - #{p\ 1671}# + #{p\ 1606}# '(()))) - #{ids\ 1673}#)) - #{tmp\ 1674}#))) + #{ids\ 1608}#)) + #{tmp\ 1609}#))) ($sc-dispatch - #{tmp\ 1674}# + #{tmp\ 1609}# '#(vector each-any))))) ($sc-dispatch - #{tmp\ 1674}# + #{tmp\ 1609}# '())))) ($sc-dispatch - #{tmp\ 1674}# + #{tmp\ 1609}# '(any . any))))) ($sc-dispatch - #{tmp\ 1674}# + #{tmp\ 1609}# '(any any)))) - #{p\ 1671}#))))) - (#{cvt\ 1670}# #{pattern\ 1668}# 0 (quote ())))))) - (lambda (#{e\ 1696}# - #{r\ 1697}# - #{w\ 1698}# - #{s\ 1699}# - #{mod\ 1700}#) - (let ((#{e\ 1701}# + #{p\ 1606}#))))) + (#{cvt\ 1605}# #{pattern\ 1603}# 0 (quote ())))))) + (lambda (#{e\ 1631}# + #{r\ 1632}# + #{w\ 1633}# + #{s\ 1634}# + #{mod\ 1635}#) + (let ((#{e\ 1636}# (#{source-wrap\ 160}# - #{e\ 1696}# - #{w\ 1698}# - #{s\ 1699}# - #{mod\ 1700}#))) - ((lambda (#{tmp\ 1702}#) - ((lambda (#{tmp\ 1703}#) - (if #{tmp\ 1703}# - (apply (lambda (#{_\ 1704}# - #{val\ 1705}# - #{key\ 1706}# - #{m\ 1707}#) + #{e\ 1631}# + #{w\ 1633}# + #{s\ 1634}# + #{mod\ 1635}#))) + ((lambda (#{tmp\ 1637}#) + ((lambda (#{tmp\ 1638}#) + (if #{tmp\ 1638}# + (apply (lambda (#{_\ 1639}# + #{val\ 1640}# + #{key\ 1641}# + #{m\ 1642}#) (if (and-map - (lambda (#{x\ 1708}#) - (if (#{id?\ 131}# #{x\ 1708}#) - (not (#{ellipsis?\ 175}# #{x\ 1708}#)) + (lambda (#{x\ 1643}#) + (if (#{id?\ 131}# #{x\ 1643}#) + (not (#{ellipsis?\ 175}# #{x\ 1643}#)) #f)) - #{key\ 1706}#) - (let ((#{x\ 1710}# + #{key\ 1641}#) + (let ((#{x\ 1645}# (#{gen-var\ 181}# (quote tmp)))) (#{build-application\ 96}# - #{s\ 1699}# + #{s\ 1634}# (#{build-simple-lambda\ 105}# #f (list (quote tmp)) #f - (list #{x\ 1710}#) + (list #{x\ 1645}#) #f - (#{gen-syntax-case\ 1623}# + (#{gen-syntax-case\ 1558}# (#{build-lexical-reference\ 98}# 'value #f 'tmp - #{x\ 1710}#) - #{key\ 1706}# - #{m\ 1707}# - #{r\ 1697}# - #{mod\ 1700}#)) + #{x\ 1645}#) + #{key\ 1641}# + #{m\ 1642}# + #{r\ 1632}# + #{mod\ 1635}#)) (list (#{chi\ 167}# - #{val\ 1705}# - #{r\ 1697}# + #{val\ 1640}# + #{r\ 1632}# '(()) - #{mod\ 1700}#)))) + #{mod\ 1635}#)))) (syntax-violation 'syntax-case "invalid literals list" - #{e\ 1701}#))) - #{tmp\ 1703}#) + #{e\ 1636}#))) + #{tmp\ 1638}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1702}#))) + #{tmp\ 1637}#))) ($sc-dispatch - #{tmp\ 1702}# + #{tmp\ 1637}# '(any any each-any . each-any)))) - #{e\ 1701}#))))) + #{e\ 1636}#))))) (set! sc-expand - (lambda (#{x\ 1713}# . #{rest\ 1714}#) - (if (if (pair? #{x\ 1713}#) - (equal? (car #{x\ 1713}#) #{noexpand\ 84}#) + (lambda (#{x\ 1648}# . #{rest\ 1649}#) + (if (if (pair? #{x\ 1648}#) + (equal? (car #{x\ 1648}#) #{noexpand\ 84}#) #f) - (cadr #{x\ 1713}#) - (let ((#{m\ 1715}# - (if (null? #{rest\ 1714}#) + (cadr #{x\ 1648}#) + (let ((#{m\ 1650}# + (if (null? #{rest\ 1649}#) 'e - (car #{rest\ 1714}#))) - (#{esew\ 1716}# - (if (let ((#{t\ 1717}# (null? #{rest\ 1714}#))) - (if #{t\ 1717}# - #{t\ 1717}# - (null? (cdr #{rest\ 1714}#)))) + (car #{rest\ 1649}#))) + (#{esew\ 1651}# + (if (let ((#{t\ 1652}# (null? #{rest\ 1649}#))) + (if #{t\ 1652}# + #{t\ 1652}# + (null? (cdr #{rest\ 1649}#)))) '(eval) - (cadr #{rest\ 1714}#)))) + (cadr #{rest\ 1649}#)))) (with-fluid* #{*mode*\ 85}# - #{m\ 1715}# + #{m\ 1650}# (lambda () (#{chi-top\ 166}# - #{x\ 1713}# + #{x\ 1648}# '() '((top)) - #{m\ 1715}# - #{esew\ 1716}# + #{m\ 1650}# + #{esew\ 1651}# (cons 'hygiene (module-name (current-module)))))))))) (set! identifier? - (lambda (#{x\ 1718}#) - (#{nonsymbol-id?\ 130}# #{x\ 1718}#))) + (lambda (#{x\ 1653}#) + (#{nonsymbol-id?\ 130}# #{x\ 1653}#))) (set! datum->syntax - (lambda (#{id\ 1719}# #{datum\ 1720}#) + (lambda (#{id\ 1654}# #{datum\ 1655}#) (#{make-syntax-object\ 114}# - #{datum\ 1720}# - (#{syntax-object-wrap\ 117}# #{id\ 1719}#) + #{datum\ 1655}# + (#{syntax-object-wrap\ 117}# #{id\ 1654}#) #f))) (set! syntax->datum - (lambda (#{x\ 1721}#) - (#{strip\ 180}# #{x\ 1721}# (quote (()))))) + (lambda (#{x\ 1656}#) + (#{strip\ 180}# #{x\ 1656}# (quote (()))))) (set! generate-temporaries - (lambda (#{ls\ 1722}#) + (lambda (#{ls\ 1657}#) (begin - (let ((#{x\ 1723}# #{ls\ 1722}#)) - (if (not (list? #{x\ 1723}#)) + (let ((#{x\ 1658}# #{ls\ 1657}#)) + (if (not (list? #{x\ 1658}#)) (syntax-violation 'generate-temporaries "invalid argument" - #{x\ 1723}#))) - (map (lambda (#{x\ 1724}#) + #{x\ 1658}#))) + (map (lambda (#{x\ 1659}#) (#{wrap\ 159}# (gensym) (quote ((top))) #f)) - #{ls\ 1722}#)))) + #{ls\ 1657}#)))) (set! free-identifier=? - (lambda (#{x\ 1725}# #{y\ 1726}#) + (lambda (#{x\ 1660}# #{y\ 1661}#) (begin - (let ((#{x\ 1727}# #{x\ 1725}#)) - (if (not (#{nonsymbol-id?\ 130}# #{x\ 1727}#)) + (let ((#{x\ 1662}# #{x\ 1660}#)) + (if (not (#{nonsymbol-id?\ 130}# #{x\ 1662}#)) (syntax-violation 'free-identifier=? "invalid argument" - #{x\ 1727}#))) - (let ((#{x\ 1728}# #{y\ 1726}#)) - (if (not (#{nonsymbol-id?\ 130}# #{x\ 1728}#)) + #{x\ 1662}#))) + (let ((#{x\ 1663}# #{y\ 1661}#)) + (if (not (#{nonsymbol-id?\ 130}# #{x\ 1663}#)) (syntax-violation 'free-identifier=? "invalid argument" - #{x\ 1728}#))) - (#{free-id=?\ 154}# #{x\ 1725}# #{y\ 1726}#)))) + #{x\ 1663}#))) + (#{free-id=?\ 154}# #{x\ 1660}# #{y\ 1661}#)))) (set! bound-identifier=? - (lambda (#{x\ 1729}# #{y\ 1730}#) + (lambda (#{x\ 1664}# #{y\ 1665}#) (begin - (let ((#{x\ 1731}# #{x\ 1729}#)) - (if (not (#{nonsymbol-id?\ 130}# #{x\ 1731}#)) + (let ((#{x\ 1666}# #{x\ 1664}#)) + (if (not (#{nonsymbol-id?\ 130}# #{x\ 1666}#)) (syntax-violation 'bound-identifier=? "invalid argument" - #{x\ 1731}#))) - (let ((#{x\ 1732}# #{y\ 1730}#)) - (if (not (#{nonsymbol-id?\ 130}# #{x\ 1732}#)) + #{x\ 1666}#))) + (let ((#{x\ 1667}# #{y\ 1665}#)) + (if (not (#{nonsymbol-id?\ 130}# #{x\ 1667}#)) (syntax-violation 'bound-identifier=? "invalid argument" - #{x\ 1732}#))) - (#{bound-id=?\ 155}# #{x\ 1729}# #{y\ 1730}#)))) + #{x\ 1667}#))) + (#{bound-id=?\ 155}# #{x\ 1664}# #{y\ 1665}#)))) (set! syntax-violation - (lambda (#{who\ 1733}# - #{message\ 1734}# - #{form\ 1735}# + (lambda (#{who\ 1668}# + #{message\ 1669}# + #{form\ 1670}# . - #{subform\ 1736}#) + #{subform\ 1671}#) (begin - (let ((#{x\ 1737}# #{who\ 1733}#)) - (if (not ((lambda (#{x\ 1738}#) - (let ((#{t\ 1739}# (not #{x\ 1738}#))) - (if #{t\ 1739}# - #{t\ 1739}# - (let ((#{t\ 1740}# (string? #{x\ 1738}#))) - (if #{t\ 1740}# - #{t\ 1740}# - (symbol? #{x\ 1738}#)))))) - #{x\ 1737}#)) + (let ((#{x\ 1672}# #{who\ 1668}#)) + (if (not ((lambda (#{x\ 1673}#) + (let ((#{t\ 1674}# (not #{x\ 1673}#))) + (if #{t\ 1674}# + #{t\ 1674}# + (let ((#{t\ 1675}# (string? #{x\ 1673}#))) + (if #{t\ 1675}# + #{t\ 1675}# + (symbol? #{x\ 1673}#)))))) + #{x\ 1672}#)) (syntax-violation 'syntax-violation "invalid argument" - #{x\ 1737}#))) - (let ((#{x\ 1741}# #{message\ 1734}#)) - (if (not (string? #{x\ 1741}#)) + #{x\ 1672}#))) + (let ((#{x\ 1676}# #{message\ 1669}#)) + (if (not (string? #{x\ 1676}#)) (syntax-violation 'syntax-violation "invalid argument" - #{x\ 1741}#))) + #{x\ 1676}#))) (scm-error 'syntax-error 'sc-expand (string-append - (if #{who\ 1733}# "~a: " "") + (if #{who\ 1668}# "~a: " "") "~a " - (if (null? #{subform\ 1736}#) + (if (null? #{subform\ 1671}#) "in ~a" "in subform `~s' of `~s'")) - (let ((#{tail\ 1742}# - (cons #{message\ 1734}# - (map (lambda (#{x\ 1743}#) - (#{strip\ 180}# #{x\ 1743}# (quote (())))) + (let ((#{tail\ 1677}# + (cons #{message\ 1669}# + (map (lambda (#{x\ 1678}#) + (#{strip\ 180}# #{x\ 1678}# (quote (())))) (append - #{subform\ 1736}# - (list #{form\ 1735}#)))))) - (if #{who\ 1733}# - (cons #{who\ 1733}# #{tail\ 1742}#) - #{tail\ 1742}#)) + #{subform\ 1671}# + (list #{form\ 1670}#)))))) + (if #{who\ 1668}# + (cons #{who\ 1668}# #{tail\ 1677}#) + #{tail\ 1677}#)) #f)))) - (letrec ((#{match\ 1748}# - (lambda (#{e\ 1749}# - #{p\ 1750}# - #{w\ 1751}# - #{r\ 1752}# - #{mod\ 1753}#) - (if (not #{r\ 1752}#) + (letrec ((#{match\ 1683}# + (lambda (#{e\ 1684}# + #{p\ 1685}# + #{w\ 1686}# + #{r\ 1687}# + #{mod\ 1688}#) + (if (not #{r\ 1687}#) #f - (if (eq? #{p\ 1750}# (quote any)) + (if (eq? #{p\ 1685}# (quote any)) (cons (#{wrap\ 159}# - #{e\ 1749}# - #{w\ 1751}# - #{mod\ 1753}#) - #{r\ 1752}#) - (if (#{syntax-object?\ 115}# #{e\ 1749}#) - (#{match*\ 1747}# - (#{syntax-object-expression\ 116}# #{e\ 1749}#) - #{p\ 1750}# + #{e\ 1684}# + #{w\ 1686}# + #{mod\ 1688}#) + #{r\ 1687}#) + (if (#{syntax-object?\ 115}# #{e\ 1684}#) + (#{match*\ 1682}# + (#{syntax-object-expression\ 116}# #{e\ 1684}#) + #{p\ 1685}# (#{join-wraps\ 150}# - #{w\ 1751}# - (#{syntax-object-wrap\ 117}# #{e\ 1749}#)) - #{r\ 1752}# - (#{syntax-object-module\ 118}# #{e\ 1749}#)) - (#{match*\ 1747}# - #{e\ 1749}# - #{p\ 1750}# - #{w\ 1751}# - #{r\ 1752}# - #{mod\ 1753}#)))))) - (#{match*\ 1747}# - (lambda (#{e\ 1754}# - #{p\ 1755}# - #{w\ 1756}# - #{r\ 1757}# - #{mod\ 1758}#) - (if (null? #{p\ 1755}#) - (if (null? #{e\ 1754}#) #{r\ 1757}# #f) - (if (pair? #{p\ 1755}#) - (if (pair? #{e\ 1754}#) - (#{match\ 1748}# - (car #{e\ 1754}#) - (car #{p\ 1755}#) - #{w\ 1756}# - (#{match\ 1748}# - (cdr #{e\ 1754}#) - (cdr #{p\ 1755}#) - #{w\ 1756}# - #{r\ 1757}# - #{mod\ 1758}#) - #{mod\ 1758}#) + #{w\ 1686}# + (#{syntax-object-wrap\ 117}# #{e\ 1684}#)) + #{r\ 1687}# + (#{syntax-object-module\ 118}# #{e\ 1684}#)) + (#{match*\ 1682}# + #{e\ 1684}# + #{p\ 1685}# + #{w\ 1686}# + #{r\ 1687}# + #{mod\ 1688}#)))))) + (#{match*\ 1682}# + (lambda (#{e\ 1689}# + #{p\ 1690}# + #{w\ 1691}# + #{r\ 1692}# + #{mod\ 1693}#) + (if (null? #{p\ 1690}#) + (if (null? #{e\ 1689}#) #{r\ 1692}# #f) + (if (pair? #{p\ 1690}#) + (if (pair? #{e\ 1689}#) + (#{match\ 1683}# + (car #{e\ 1689}#) + (car #{p\ 1690}#) + #{w\ 1691}# + (#{match\ 1683}# + (cdr #{e\ 1689}#) + (cdr #{p\ 1690}#) + #{w\ 1691}# + #{r\ 1692}# + #{mod\ 1693}#) + #{mod\ 1693}#) #f) - (if (eq? #{p\ 1755}# (quote each-any)) - (let ((#{l\ 1759}# - (#{match-each-any\ 1745}# - #{e\ 1754}# - #{w\ 1756}# - #{mod\ 1758}#))) - (if #{l\ 1759}# - (cons #{l\ 1759}# #{r\ 1757}#) + (if (eq? #{p\ 1690}# (quote each-any)) + (let ((#{l\ 1694}# + (#{match-each-any\ 1680}# + #{e\ 1689}# + #{w\ 1691}# + #{mod\ 1693}#))) + (if #{l\ 1694}# + (cons #{l\ 1694}# #{r\ 1692}#) #f)) - (let ((#{atom-key\ 1760}# (vector-ref #{p\ 1755}# 0))) - (if (memv #{atom-key\ 1760}# (quote (each))) - (if (null? #{e\ 1754}#) - (#{match-empty\ 1746}# - (vector-ref #{p\ 1755}# 1) - #{r\ 1757}#) - (let ((#{l\ 1761}# - (#{match-each\ 1744}# - #{e\ 1754}# - (vector-ref #{p\ 1755}# 1) - #{w\ 1756}# - #{mod\ 1758}#))) - (if #{l\ 1761}# - (letrec ((#{collect\ 1762}# - (lambda (#{l\ 1763}#) - (if (null? (car #{l\ 1763}#)) - #{r\ 1757}# - (cons (map car #{l\ 1763}#) - (#{collect\ 1762}# + (let ((#{atom-key\ 1695}# (vector-ref #{p\ 1690}# 0))) + (if (memv #{atom-key\ 1695}# (quote (each))) + (if (null? #{e\ 1689}#) + (#{match-empty\ 1681}# + (vector-ref #{p\ 1690}# 1) + #{r\ 1692}#) + (let ((#{l\ 1696}# + (#{match-each\ 1679}# + #{e\ 1689}# + (vector-ref #{p\ 1690}# 1) + #{w\ 1691}# + #{mod\ 1693}#))) + (if #{l\ 1696}# + (letrec ((#{collect\ 1697}# + (lambda (#{l\ 1698}#) + (if (null? (car #{l\ 1698}#)) + #{r\ 1692}# + (cons (map car #{l\ 1698}#) + (#{collect\ 1697}# (map cdr - #{l\ 1763}#))))))) - (#{collect\ 1762}# #{l\ 1761}#)) + #{l\ 1698}#))))))) + (#{collect\ 1697}# #{l\ 1696}#)) #f))) - (if (memv #{atom-key\ 1760}# (quote (free-id))) - (if (#{id?\ 131}# #{e\ 1754}#) + (if (memv #{atom-key\ 1695}# (quote (free-id))) + (if (#{id?\ 131}# #{e\ 1689}#) (if (#{free-id=?\ 154}# (#{wrap\ 159}# - #{e\ 1754}# - #{w\ 1756}# - #{mod\ 1758}#) - (vector-ref #{p\ 1755}# 1)) - #{r\ 1757}# + #{e\ 1689}# + #{w\ 1691}# + #{mod\ 1693}#) + (vector-ref #{p\ 1690}# 1)) + #{r\ 1692}# #f) #f) - (if (memv #{atom-key\ 1760}# (quote (atom))) + (if (memv #{atom-key\ 1695}# (quote (atom))) (if (equal? - (vector-ref #{p\ 1755}# 1) + (vector-ref #{p\ 1690}# 1) (#{strip\ 180}# - #{e\ 1754}# - #{w\ 1756}#)) - #{r\ 1757}# + #{e\ 1689}# + #{w\ 1691}#)) + #{r\ 1692}# #f) - (if (memv #{atom-key\ 1760}# (quote (vector))) - (if (vector? #{e\ 1754}#) - (#{match\ 1748}# - (vector->list #{e\ 1754}#) - (vector-ref #{p\ 1755}# 1) - #{w\ 1756}# - #{r\ 1757}# - #{mod\ 1758}#) + (if (memv #{atom-key\ 1695}# (quote (vector))) + (if (vector? #{e\ 1689}#) + (#{match\ 1683}# + (vector->list #{e\ 1689}#) + (vector-ref #{p\ 1690}# 1) + #{w\ 1691}# + #{r\ 1692}# + #{mod\ 1693}#) #f))))))))))) - (#{match-empty\ 1746}# - (lambda (#{p\ 1764}# #{r\ 1765}#) - (if (null? #{p\ 1764}#) - #{r\ 1765}# - (if (eq? #{p\ 1764}# (quote any)) - (cons (quote ()) #{r\ 1765}#) - (if (pair? #{p\ 1764}#) - (#{match-empty\ 1746}# - (car #{p\ 1764}#) - (#{match-empty\ 1746}# - (cdr #{p\ 1764}#) - #{r\ 1765}#)) - (if (eq? #{p\ 1764}# (quote each-any)) - (cons (quote ()) #{r\ 1765}#) - (let ((#{atom-key\ 1766}# - (vector-ref #{p\ 1764}# 0))) - (if (memv #{atom-key\ 1766}# (quote (each))) - (#{match-empty\ 1746}# - (vector-ref #{p\ 1764}# 1) - #{r\ 1765}#) - (if (memv #{atom-key\ 1766}# + (#{match-empty\ 1681}# + (lambda (#{p\ 1699}# #{r\ 1700}#) + (if (null? #{p\ 1699}#) + #{r\ 1700}# + (if (eq? #{p\ 1699}# (quote any)) + (cons (quote ()) #{r\ 1700}#) + (if (pair? #{p\ 1699}#) + (#{match-empty\ 1681}# + (car #{p\ 1699}#) + (#{match-empty\ 1681}# + (cdr #{p\ 1699}#) + #{r\ 1700}#)) + (if (eq? #{p\ 1699}# (quote each-any)) + (cons (quote ()) #{r\ 1700}#) + (let ((#{atom-key\ 1701}# + (vector-ref #{p\ 1699}# 0))) + (if (memv #{atom-key\ 1701}# (quote (each))) + (#{match-empty\ 1681}# + (vector-ref #{p\ 1699}# 1) + #{r\ 1700}#) + (if (memv #{atom-key\ 1701}# '(free-id atom)) - #{r\ 1765}# - (if (memv #{atom-key\ 1766}# (quote (vector))) - (#{match-empty\ 1746}# - (vector-ref #{p\ 1764}# 1) - #{r\ 1765}#))))))))))) - (#{match-each-any\ 1745}# - (lambda (#{e\ 1767}# #{w\ 1768}# #{mod\ 1769}#) - (if (pair? #{e\ 1767}#) - (let ((#{l\ 1770}# - (#{match-each-any\ 1745}# - (cdr #{e\ 1767}#) - #{w\ 1768}# - #{mod\ 1769}#))) - (if #{l\ 1770}# + #{r\ 1700}# + (if (memv #{atom-key\ 1701}# (quote (vector))) + (#{match-empty\ 1681}# + (vector-ref #{p\ 1699}# 1) + #{r\ 1700}#))))))))))) + (#{match-each-any\ 1680}# + (lambda (#{e\ 1702}# #{w\ 1703}# #{mod\ 1704}#) + (if (pair? #{e\ 1702}#) + (let ((#{l\ 1705}# + (#{match-each-any\ 1680}# + (cdr #{e\ 1702}#) + #{w\ 1703}# + #{mod\ 1704}#))) + (if #{l\ 1705}# (cons (#{wrap\ 159}# - (car #{e\ 1767}#) - #{w\ 1768}# - #{mod\ 1769}#) - #{l\ 1770}#) + (car #{e\ 1702}#) + #{w\ 1703}# + #{mod\ 1704}#) + #{l\ 1705}#) #f)) - (if (null? #{e\ 1767}#) + (if (null? #{e\ 1702}#) '() - (if (#{syntax-object?\ 115}# #{e\ 1767}#) - (#{match-each-any\ 1745}# - (#{syntax-object-expression\ 116}# #{e\ 1767}#) + (if (#{syntax-object?\ 115}# #{e\ 1702}#) + (#{match-each-any\ 1680}# + (#{syntax-object-expression\ 116}# #{e\ 1702}#) (#{join-wraps\ 150}# - #{w\ 1768}# - (#{syntax-object-wrap\ 117}# #{e\ 1767}#)) - #{mod\ 1769}#) + #{w\ 1703}# + (#{syntax-object-wrap\ 117}# #{e\ 1702}#)) + #{mod\ 1704}#) #f))))) - (#{match-each\ 1744}# - (lambda (#{e\ 1771}# - #{p\ 1772}# - #{w\ 1773}# - #{mod\ 1774}#) - (if (pair? #{e\ 1771}#) - (let ((#{first\ 1775}# - (#{match\ 1748}# - (car #{e\ 1771}#) - #{p\ 1772}# - #{w\ 1773}# + (#{match-each\ 1679}# + (lambda (#{e\ 1706}# + #{p\ 1707}# + #{w\ 1708}# + #{mod\ 1709}#) + (if (pair? #{e\ 1706}#) + (let ((#{first\ 1710}# + (#{match\ 1683}# + (car #{e\ 1706}#) + #{p\ 1707}# + #{w\ 1708}# '() - #{mod\ 1774}#))) - (if #{first\ 1775}# - (let ((#{rest\ 1776}# - (#{match-each\ 1744}# - (cdr #{e\ 1771}#) - #{p\ 1772}# - #{w\ 1773}# - #{mod\ 1774}#))) - (if #{rest\ 1776}# - (cons #{first\ 1775}# #{rest\ 1776}#) + #{mod\ 1709}#))) + (if #{first\ 1710}# + (let ((#{rest\ 1711}# + (#{match-each\ 1679}# + (cdr #{e\ 1706}#) + #{p\ 1707}# + #{w\ 1708}# + #{mod\ 1709}#))) + (if #{rest\ 1711}# + (cons #{first\ 1710}# #{rest\ 1711}#) #f)) #f)) - (if (null? #{e\ 1771}#) + (if (null? #{e\ 1706}#) '() - (if (#{syntax-object?\ 115}# #{e\ 1771}#) - (#{match-each\ 1744}# - (#{syntax-object-expression\ 116}# #{e\ 1771}#) - #{p\ 1772}# + (if (#{syntax-object?\ 115}# #{e\ 1706}#) + (#{match-each\ 1679}# + (#{syntax-object-expression\ 116}# #{e\ 1706}#) + #{p\ 1707}# (#{join-wraps\ 150}# - #{w\ 1773}# - (#{syntax-object-wrap\ 117}# #{e\ 1771}#)) - (#{syntax-object-module\ 118}# #{e\ 1771}#)) + #{w\ 1708}# + (#{syntax-object-wrap\ 117}# #{e\ 1706}#)) + (#{syntax-object-module\ 118}# #{e\ 1706}#)) #f)))))) (set! $sc-dispatch - (lambda (#{e\ 1777}# #{p\ 1778}#) - (if (eq? #{p\ 1778}# (quote any)) - (list #{e\ 1777}#) - (if (#{syntax-object?\ 115}# #{e\ 1777}#) - (#{match*\ 1747}# - (#{syntax-object-expression\ 116}# #{e\ 1777}#) - #{p\ 1778}# - (#{syntax-object-wrap\ 117}# #{e\ 1777}#) + (lambda (#{e\ 1712}# #{p\ 1713}#) + (if (eq? #{p\ 1713}# (quote any)) + (list #{e\ 1712}#) + (if (#{syntax-object?\ 115}# #{e\ 1712}#) + (#{match*\ 1682}# + (#{syntax-object-expression\ 116}# #{e\ 1712}#) + #{p\ 1713}# + (#{syntax-object-wrap\ 117}# #{e\ 1712}#) '() - (#{syntax-object-module\ 118}# #{e\ 1777}#)) - (#{match*\ 1747}# - #{e\ 1777}# - #{p\ 1778}# + (#{syntax-object-module\ 118}# #{e\ 1712}#)) + (#{match*\ 1682}# + #{e\ 1712}# + #{p\ 1713}# '(()) '() #f))))))))) @@ -11629,11 +11388,11 @@ (define with-syntax (make-syncase-macro 'macro - (lambda (#{x\ 1779}#) - ((lambda (#{tmp\ 1780}#) - ((lambda (#{tmp\ 1781}#) - (if #{tmp\ 1781}# - (apply (lambda (#{_\ 1782}# #{e1\ 1783}# #{e2\ 1784}#) + (lambda (#{x\ 1714}#) + ((lambda (#{tmp\ 1715}#) + ((lambda (#{tmp\ 1716}#) + (if #{tmp\ 1716}# + (apply (lambda (#{_\ 1717}# #{e1\ 1718}# #{e2\ 1719}#) (cons '#(syntax-object begin ((top) @@ -11644,15 +11403,15 @@ #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)) - (cons #{e1\ 1783}# #{e2\ 1784}#))) - #{tmp\ 1781}#) - ((lambda (#{tmp\ 1786}#) - (if #{tmp\ 1786}# - (apply (lambda (#{_\ 1787}# - #{out\ 1788}# - #{in\ 1789}# - #{e1\ 1790}# - #{e2\ 1791}#) + (cons #{e1\ 1718}# #{e2\ 1719}#))) + #{tmp\ 1716}#) + ((lambda (#{tmp\ 1721}#) + (if #{tmp\ 1721}# + (apply (lambda (#{_\ 1722}# + #{out\ 1723}# + #{in\ 1724}# + #{e1\ 1725}# + #{e2\ 1726}#) (list '#(syntax-object syntax-case ((top) @@ -11663,9 +11422,9 @@ #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)) - #{in\ 1789}# + #{in\ 1724}# '() - (list #{out\ 1788}# + (list #{out\ 1723}# (cons '#(syntax-object begin ((top) @@ -11683,16 +11442,16 @@ #((top)) #("i"))) (hygiene guile)) - (cons #{e1\ 1790}# - #{e2\ 1791}#))))) - #{tmp\ 1786}#) - ((lambda (#{tmp\ 1793}#) - (if #{tmp\ 1793}# - (apply (lambda (#{_\ 1794}# - #{out\ 1795}# - #{in\ 1796}# - #{e1\ 1797}# - #{e2\ 1798}#) + (cons #{e1\ 1725}# + #{e2\ 1726}#))))) + #{tmp\ 1721}#) + ((lambda (#{tmp\ 1728}#) + (if #{tmp\ 1728}# + (apply (lambda (#{_\ 1729}# + #{out\ 1730}# + #{in\ 1731}# + #{e1\ 1732}# + #{e2\ 1733}#) (list '#(syntax-object syntax-case ((top) @@ -11720,9 +11479,9 @@ #((top)) #("i"))) (hygiene guile)) - #{in\ 1796}#) + #{in\ 1731}#) '() - (list #{out\ 1795}# + (list #{out\ 1730}# (cons '#(syntax-object begin ((top) @@ -11744,36 +11503,36 @@ #((top)) #("i"))) (hygiene guile)) - (cons #{e1\ 1797}# - #{e2\ 1798}#))))) - #{tmp\ 1793}#) + (cons #{e1\ 1732}# + #{e2\ 1733}#))))) + #{tmp\ 1728}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1780}#))) + #{tmp\ 1715}#))) ($sc-dispatch - #{tmp\ 1780}# + #{tmp\ 1715}# '(any #(each (any any)) any . each-any))))) ($sc-dispatch - #{tmp\ 1780}# + #{tmp\ 1715}# '(any ((any any)) any . each-any))))) ($sc-dispatch - #{tmp\ 1780}# + #{tmp\ 1715}# '(any () any . each-any)))) - #{x\ 1779}#)))) + #{x\ 1714}#)))) (define syntax-rules (make-syncase-macro 'macro - (lambda (#{x\ 1802}#) - ((lambda (#{tmp\ 1803}#) - ((lambda (#{tmp\ 1804}#) - (if #{tmp\ 1804}# - (apply (lambda (#{_\ 1805}# - #{k\ 1806}# - #{keyword\ 1807}# - #{pattern\ 1808}# - #{template\ 1809}#) + (lambda (#{x\ 1737}#) + ((lambda (#{tmp\ 1738}#) + ((lambda (#{tmp\ 1739}#) + (if #{tmp\ 1739}# + (apply (lambda (#{_\ 1740}# + #{k\ 1741}# + #{keyword\ 1742}# + #{pattern\ 1743}# + #{template\ 1744}#) (list '#(syntax-object lambda ((top) @@ -11814,9 +11573,9 @@ #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)) - (cons #{k\ 1806}# - (map (lambda (#{tmp\ 1812}# - #{tmp\ 1811}#) + (cons #{k\ 1741}# + (map (lambda (#{tmp\ 1747}# + #{tmp\ 1746}#) (list (cons '#(syntax-object dummy ((top) @@ -11846,7 +11605,7 @@ #("i"))) (hygiene guile)) - #{tmp\ 1811}#) + #{tmp\ 1746}#) (list '#(syntax-object syntax ((top) @@ -11876,43 +11635,43 @@ #("i"))) (hygiene guile)) - #{tmp\ 1812}#))) - #{template\ 1809}# - #{pattern\ 1808}#)))))) - #{tmp\ 1804}#) + #{tmp\ 1747}#))) + #{template\ 1744}# + #{pattern\ 1743}#)))))) + #{tmp\ 1739}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1803}#))) + #{tmp\ 1738}#))) ($sc-dispatch - #{tmp\ 1803}# + #{tmp\ 1738}# '(any each-any . #(each ((any . any) any)))))) - #{x\ 1802}#)))) + #{x\ 1737}#)))) (define let* (make-extended-syncase-macro (module-ref (current-module) (quote let*)) 'macro - (lambda (#{x\ 1813}#) - ((lambda (#{tmp\ 1814}#) - ((lambda (#{tmp\ 1815}#) - (if (if #{tmp\ 1815}# - (apply (lambda (#{let*\ 1816}# - #{x\ 1817}# - #{v\ 1818}# - #{e1\ 1819}# - #{e2\ 1820}#) - (and-map identifier? #{x\ 1817}#)) - #{tmp\ 1815}#) + (lambda (#{x\ 1748}#) + ((lambda (#{tmp\ 1749}#) + ((lambda (#{tmp\ 1750}#) + (if (if #{tmp\ 1750}# + (apply (lambda (#{let*\ 1751}# + #{x\ 1752}# + #{v\ 1753}# + #{e1\ 1754}# + #{e2\ 1755}#) + (and-map identifier? #{x\ 1752}#)) + #{tmp\ 1750}#) #f) - (apply (lambda (#{let*\ 1822}# - #{x\ 1823}# - #{v\ 1824}# - #{e1\ 1825}# - #{e2\ 1826}#) - (letrec ((#{f\ 1827}# - (lambda (#{bindings\ 1828}#) - (if (null? #{bindings\ 1828}#) + (apply (lambda (#{let*\ 1757}# + #{x\ 1758}# + #{v\ 1759}# + #{e1\ 1760}# + #{e2\ 1761}#) + (letrec ((#{f\ 1762}# + (lambda (#{bindings\ 1763}#) + (if (null? #{bindings\ 1763}#) (cons '#(syntax-object let ((top) @@ -11936,13 +11695,13 @@ #("i"))) (hygiene guile)) (cons '() - (cons #{e1\ 1825}# - #{e2\ 1826}#))) - ((lambda (#{tmp\ 1832}#) - ((lambda (#{tmp\ 1833}#) - (if #{tmp\ 1833}# - (apply (lambda (#{body\ 1834}# - #{binding\ 1835}#) + (cons #{e1\ 1760}# + #{e2\ 1761}#))) + ((lambda (#{tmp\ 1767}#) + ((lambda (#{tmp\ 1768}#) + (if #{tmp\ 1768}# + (apply (lambda (#{body\ 1769}# + #{binding\ 1770}#) (list '#(syntax-object let ((top) @@ -11988,52 +11747,52 @@ #("i"))) (hygiene guile)) - (list #{binding\ 1835}#) - #{body\ 1834}#)) - #{tmp\ 1833}#) + (list #{binding\ 1770}#) + #{body\ 1769}#)) + #{tmp\ 1768}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1832}#))) + #{tmp\ 1767}#))) ($sc-dispatch - #{tmp\ 1832}# + #{tmp\ 1767}# '(any any)))) - (list (#{f\ 1827}# - (cdr #{bindings\ 1828}#)) - (car #{bindings\ 1828}#))))))) - (#{f\ 1827}# (map list #{x\ 1823}# #{v\ 1824}#)))) - #{tmp\ 1815}#) + (list (#{f\ 1762}# + (cdr #{bindings\ 1763}#)) + (car #{bindings\ 1763}#))))))) + (#{f\ 1762}# (map list #{x\ 1758}# #{v\ 1759}#)))) + #{tmp\ 1750}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1814}#))) + #{tmp\ 1749}#))) ($sc-dispatch - #{tmp\ 1814}# + #{tmp\ 1749}# '(any #(each (any any)) any . each-any)))) - #{x\ 1813}#)))) + #{x\ 1748}#)))) (define do (make-extended-syncase-macro (module-ref (current-module) (quote do)) 'macro - (lambda (#{orig-x\ 1836}#) - ((lambda (#{tmp\ 1837}#) - ((lambda (#{tmp\ 1838}#) - (if #{tmp\ 1838}# - (apply (lambda (#{_\ 1839}# - #{var\ 1840}# - #{init\ 1841}# - #{step\ 1842}# - #{e0\ 1843}# - #{e1\ 1844}# - #{c\ 1845}#) - ((lambda (#{tmp\ 1846}#) - ((lambda (#{tmp\ 1847}#) - (if #{tmp\ 1847}# - (apply (lambda (#{step\ 1848}#) - ((lambda (#{tmp\ 1849}#) - ((lambda (#{tmp\ 1850}#) - (if #{tmp\ 1850}# + (lambda (#{orig-x\ 1771}#) + ((lambda (#{tmp\ 1772}#) + ((lambda (#{tmp\ 1773}#) + (if #{tmp\ 1773}# + (apply (lambda (#{_\ 1774}# + #{var\ 1775}# + #{init\ 1776}# + #{step\ 1777}# + #{e0\ 1778}# + #{e1\ 1779}# + #{c\ 1780}#) + ((lambda (#{tmp\ 1781}#) + ((lambda (#{tmp\ 1782}#) + (if #{tmp\ 1782}# + (apply (lambda (#{step\ 1783}#) + ((lambda (#{tmp\ 1784}#) + ((lambda (#{tmp\ 1785}#) + (if #{tmp\ 1785}# (apply (lambda () (list '#(syntax-object let @@ -12114,8 +11873,8 @@ (hygiene guile)) (map list - #{var\ 1840}# - #{init\ 1841}#) + #{var\ 1775}# + #{init\ 1776}#) (list '#(syntax-object if ((top) @@ -12194,7 +11953,7 @@ #("i"))) (hygiene guile)) - #{e0\ 1843}#) + #{e0\ 1778}#) (cons '#(syntax-object begin ((top) @@ -12235,7 +11994,7 @@ (hygiene guile)) (append - #{c\ 1845}# + #{c\ 1780}# (list (cons '#(syntax-object doloop ((top) @@ -12275,12 +12034,12 @@ #("i"))) (hygiene guile)) - #{step\ 1848}#))))))) - #{tmp\ 1850}#) - ((lambda (#{tmp\ 1855}#) - (if #{tmp\ 1855}# - (apply (lambda (#{e1\ 1856}# - #{e2\ 1857}#) + #{step\ 1783}#))))))) + #{tmp\ 1785}#) + ((lambda (#{tmp\ 1790}#) + (if #{tmp\ 1790}# + (apply (lambda (#{e1\ 1791}# + #{e2\ 1792}#) (list '#(syntax-object let ((top) @@ -12374,8 +12133,8 @@ (hygiene guile)) (map list - #{var\ 1840}# - #{init\ 1841}#) + #{var\ 1775}# + #{init\ 1776}#) (list '#(syntax-object if ((top) @@ -12422,7 +12181,7 @@ #("i"))) (hygiene guile)) - #{e0\ 1843}# + #{e0\ 1778}# (cons '#(syntax-object begin ((top) @@ -12469,8 +12228,8 @@ #("i"))) (hygiene guile)) - (cons #{e1\ 1856}# - #{e2\ 1857}#)) + (cons #{e1\ 1791}# + #{e2\ 1792}#)) (cons '#(syntax-object begin ((top) @@ -12518,7 +12277,7 @@ (hygiene guile)) (append - #{c\ 1845}# + #{c\ 1780}# (list (cons '#(syntax-object doloop ((top) @@ -12565,81 +12324,81 @@ #("i"))) (hygiene guile)) - #{step\ 1848}#))))))) - #{tmp\ 1855}#) + #{step\ 1783}#))))))) + #{tmp\ 1790}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1849}#))) + #{tmp\ 1784}#))) ($sc-dispatch - #{tmp\ 1849}# + #{tmp\ 1784}# '(any . each-any))))) ($sc-dispatch - #{tmp\ 1849}# + #{tmp\ 1784}# '()))) - #{e1\ 1844}#)) - #{tmp\ 1847}#) + #{e1\ 1779}#)) + #{tmp\ 1782}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1846}#))) - ($sc-dispatch #{tmp\ 1846}# (quote each-any)))) - (map (lambda (#{v\ 1864}# #{s\ 1865}#) - ((lambda (#{tmp\ 1866}#) - ((lambda (#{tmp\ 1867}#) - (if #{tmp\ 1867}# - (apply (lambda () #{v\ 1864}#) - #{tmp\ 1867}#) - ((lambda (#{tmp\ 1868}#) - (if #{tmp\ 1868}# - (apply (lambda (#{e\ 1869}#) - #{e\ 1869}#) - #{tmp\ 1868}#) - ((lambda (#{_\ 1870}#) + #{tmp\ 1781}#))) + ($sc-dispatch #{tmp\ 1781}# (quote each-any)))) + (map (lambda (#{v\ 1799}# #{s\ 1800}#) + ((lambda (#{tmp\ 1801}#) + ((lambda (#{tmp\ 1802}#) + (if #{tmp\ 1802}# + (apply (lambda () #{v\ 1799}#) + #{tmp\ 1802}#) + ((lambda (#{tmp\ 1803}#) + (if #{tmp\ 1803}# + (apply (lambda (#{e\ 1804}#) + #{e\ 1804}#) + #{tmp\ 1803}#) + ((lambda (#{_\ 1805}#) (syntax-violation 'do "bad step expression" - #{orig-x\ 1836}# - #{s\ 1865}#)) - #{tmp\ 1866}#))) + #{orig-x\ 1771}# + #{s\ 1800}#)) + #{tmp\ 1801}#))) ($sc-dispatch - #{tmp\ 1866}# + #{tmp\ 1801}# '(any))))) - ($sc-dispatch #{tmp\ 1866}# (quote ())))) - #{s\ 1865}#)) - #{var\ 1840}# - #{step\ 1842}#))) - #{tmp\ 1838}#) + ($sc-dispatch #{tmp\ 1801}# (quote ())))) + #{s\ 1800}#)) + #{var\ 1775}# + #{step\ 1777}#))) + #{tmp\ 1773}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1837}#))) + #{tmp\ 1772}#))) ($sc-dispatch - #{tmp\ 1837}# + #{tmp\ 1772}# '(any #(each (any any . any)) (any . each-any) . each-any)))) - #{orig-x\ 1836}#)))) + #{orig-x\ 1771}#)))) (define quasiquote (make-extended-syncase-macro (module-ref (current-module) (quote quasiquote)) 'macro - (letrec ((#{quasicons\ 1873}# - (lambda (#{x\ 1877}# #{y\ 1878}#) - ((lambda (#{tmp\ 1879}#) - ((lambda (#{tmp\ 1880}#) - (if #{tmp\ 1880}# - (apply (lambda (#{x\ 1881}# #{y\ 1882}#) - ((lambda (#{tmp\ 1883}#) - ((lambda (#{tmp\ 1884}#) - (if #{tmp\ 1884}# - (apply (lambda (#{dy\ 1885}#) - ((lambda (#{tmp\ 1886}#) - ((lambda (#{tmp\ 1887}#) - (if #{tmp\ 1887}# - (apply (lambda (#{dx\ 1888}#) + (letrec ((#{quasicons\ 1808}# + (lambda (#{x\ 1812}# #{y\ 1813}#) + ((lambda (#{tmp\ 1814}#) + ((lambda (#{tmp\ 1815}#) + (if #{tmp\ 1815}# + (apply (lambda (#{x\ 1816}# #{y\ 1817}#) + ((lambda (#{tmp\ 1818}#) + ((lambda (#{tmp\ 1819}#) + (if #{tmp\ 1819}# + (apply (lambda (#{dy\ 1820}#) + ((lambda (#{tmp\ 1821}#) + ((lambda (#{tmp\ 1822}#) + (if #{tmp\ 1822}# + (apply (lambda (#{dx\ 1823}#) (list '#(syntax-object quote ((top) @@ -12688,11 +12447,11 @@ "i"))) (hygiene guile)) - (cons #{dx\ 1888}# - #{dy\ 1885}#))) - #{tmp\ 1887}#) - ((lambda (#{_\ 1889}#) - (if (null? #{dy\ 1885}#) + (cons #{dx\ 1823}# + #{dy\ 1820}#))) + #{tmp\ 1822}#) + ((lambda (#{_\ 1824}#) + (if (null? #{dy\ 1820}#) (list '#(syntax-object list ((top) @@ -12741,7 +12500,7 @@ "i"))) (hygiene guile)) - #{x\ 1881}#) + #{x\ 1816}#) (list '#(syntax-object cons ((top) @@ -12790,11 +12549,11 @@ "i"))) (hygiene guile)) - #{x\ 1881}# - #{y\ 1882}#))) - #{tmp\ 1886}#))) + #{x\ 1816}# + #{y\ 1817}#))) + #{tmp\ 1821}#))) ($sc-dispatch - #{tmp\ 1886}# + #{tmp\ 1821}# '(#(free-id #(syntax-object quote @@ -12837,11 +12596,11 @@ (hygiene guile))) any)))) - #{x\ 1881}#)) - #{tmp\ 1884}#) - ((lambda (#{tmp\ 1890}#) - (if #{tmp\ 1890}# - (apply (lambda (#{stuff\ 1891}#) + #{x\ 1816}#)) + #{tmp\ 1819}#) + ((lambda (#{tmp\ 1825}#) + (if #{tmp\ 1825}# + (apply (lambda (#{stuff\ 1826}#) (cons '#(syntax-object list ((top) @@ -12882,10 +12641,10 @@ "i"))) (hygiene guile)) - (cons #{x\ 1881}# - #{stuff\ 1891}#))) - #{tmp\ 1890}#) - ((lambda (#{else\ 1892}#) + (cons #{x\ 1816}# + #{stuff\ 1826}#))) + #{tmp\ 1825}#) + ((lambda (#{else\ 1827}#) (list '#(syntax-object cons ((top) @@ -12917,11 +12676,11 @@ "i" "i"))) (hygiene guile)) - #{x\ 1881}# - #{y\ 1882}#)) - #{tmp\ 1883}#))) + #{x\ 1816}# + #{y\ 1817}#)) + #{tmp\ 1818}#))) ($sc-dispatch - #{tmp\ 1883}# + #{tmp\ 1818}# '(#(free-id #(syntax-object list @@ -12950,7 +12709,7 @@ . any))))) ($sc-dispatch - #{tmp\ 1883}# + #{tmp\ 1818}# '(#(free-id #(syntax-object quote @@ -12974,26 +12733,26 @@ #("i" "i" "i" "i"))) (hygiene guile))) any)))) - #{y\ 1882}#)) - #{tmp\ 1880}#) + #{y\ 1817}#)) + #{tmp\ 1815}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1879}#))) - ($sc-dispatch #{tmp\ 1879}# (quote (any any))))) - (list #{x\ 1877}# #{y\ 1878}#)))) - (#{quasiappend\ 1874}# - (lambda (#{x\ 1893}# #{y\ 1894}#) - ((lambda (#{tmp\ 1895}#) - ((lambda (#{tmp\ 1896}#) - (if #{tmp\ 1896}# - (apply (lambda (#{x\ 1897}# #{y\ 1898}#) - ((lambda (#{tmp\ 1899}#) - ((lambda (#{tmp\ 1900}#) - (if #{tmp\ 1900}# - (apply (lambda () #{x\ 1897}#) - #{tmp\ 1900}#) - ((lambda (#{_\ 1901}#) + #{tmp\ 1814}#))) + ($sc-dispatch #{tmp\ 1814}# (quote (any any))))) + (list #{x\ 1812}# #{y\ 1813}#)))) + (#{quasiappend\ 1809}# + (lambda (#{x\ 1828}# #{y\ 1829}#) + ((lambda (#{tmp\ 1830}#) + ((lambda (#{tmp\ 1831}#) + (if #{tmp\ 1831}# + (apply (lambda (#{x\ 1832}# #{y\ 1833}#) + ((lambda (#{tmp\ 1834}#) + ((lambda (#{tmp\ 1835}#) + (if #{tmp\ 1835}# + (apply (lambda () #{x\ 1832}#) + #{tmp\ 1835}#) + ((lambda (#{_\ 1836}#) (list '#(syntax-object append ((top) @@ -13022,11 +12781,11 @@ (top)) #("i" "i" "i" "i"))) (hygiene guile)) - #{x\ 1897}# - #{y\ 1898}#)) - #{tmp\ 1899}#))) + #{x\ 1832}# + #{y\ 1833}#)) + #{tmp\ 1834}#))) ($sc-dispatch - #{tmp\ 1899}# + #{tmp\ 1834}# '(#(free-id #(syntax-object quote @@ -13050,22 +12809,22 @@ #("i" "i" "i" "i"))) (hygiene guile))) ())))) - #{y\ 1898}#)) - #{tmp\ 1896}#) + #{y\ 1833}#)) + #{tmp\ 1831}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1895}#))) - ($sc-dispatch #{tmp\ 1895}# (quote (any any))))) - (list #{x\ 1893}# #{y\ 1894}#)))) - (#{quasivector\ 1875}# - (lambda (#{x\ 1902}#) - ((lambda (#{tmp\ 1903}#) - ((lambda (#{x\ 1904}#) - ((lambda (#{tmp\ 1905}#) - ((lambda (#{tmp\ 1906}#) - (if #{tmp\ 1906}# - (apply (lambda (#{x\ 1907}#) + #{tmp\ 1830}#))) + ($sc-dispatch #{tmp\ 1830}# (quote (any any))))) + (list #{x\ 1828}# #{y\ 1829}#)))) + (#{quasivector\ 1810}# + (lambda (#{x\ 1837}#) + ((lambda (#{tmp\ 1838}#) + ((lambda (#{x\ 1839}#) + ((lambda (#{tmp\ 1840}#) + ((lambda (#{tmp\ 1841}#) + (if #{tmp\ 1841}# + (apply (lambda (#{x\ 1842}#) (list '#(syntax-object quote ((top) @@ -13091,11 +12850,11 @@ #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile)) - (list->vector #{x\ 1907}#))) - #{tmp\ 1906}#) - ((lambda (#{tmp\ 1909}#) - (if #{tmp\ 1909}# - (apply (lambda (#{x\ 1910}#) + (list->vector #{x\ 1842}#))) + #{tmp\ 1841}#) + ((lambda (#{tmp\ 1844}#) + (if #{tmp\ 1844}# + (apply (lambda (#{x\ 1845}#) (cons '#(syntax-object vector ((top) @@ -13124,9 +12883,9 @@ (top)) #("i" "i" "i" "i"))) (hygiene guile)) - #{x\ 1910}#)) - #{tmp\ 1909}#) - ((lambda (#{_\ 1912}#) + #{x\ 1845}#)) + #{tmp\ 1844}#) + ((lambda (#{_\ 1847}#) (list '#(syntax-object list->vector ((top) @@ -13152,10 +12911,10 @@ #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile)) - #{x\ 1904}#)) - #{tmp\ 1905}#))) + #{x\ 1839}#)) + #{tmp\ 1840}#))) ($sc-dispatch - #{tmp\ 1905}# + #{tmp\ 1840}# '(#(free-id #(syntax-object list @@ -13175,7 +12934,7 @@ . each-any))))) ($sc-dispatch - #{tmp\ 1905}# + #{tmp\ 1840}# '(#(free-id #(syntax-object quote @@ -13193,18 +12952,18 @@ #("i" "i" "i" "i"))) (hygiene guile))) each-any)))) - #{x\ 1904}#)) - #{tmp\ 1903}#)) - #{x\ 1902}#))) - (#{quasi\ 1876}# - (lambda (#{p\ 1913}# #{lev\ 1914}#) - ((lambda (#{tmp\ 1915}#) - ((lambda (#{tmp\ 1916}#) - (if #{tmp\ 1916}# - (apply (lambda (#{p\ 1917}#) - (if (= #{lev\ 1914}# 0) - #{p\ 1917}# - (#{quasicons\ 1873}# + #{x\ 1839}#)) + #{tmp\ 1838}#)) + #{x\ 1837}#))) + (#{quasi\ 1811}# + (lambda (#{p\ 1848}# #{lev\ 1849}#) + ((lambda (#{tmp\ 1850}#) + ((lambda (#{tmp\ 1851}#) + (if #{tmp\ 1851}# + (apply (lambda (#{p\ 1852}#) + (if (= #{lev\ 1849}# 0) + #{p\ 1852}# + (#{quasicons\ 1808}# '(#(syntax-object quote ((top) @@ -13239,21 +12998,21 @@ #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile))) - (#{quasi\ 1876}# - (list #{p\ 1917}#) - (- #{lev\ 1914}# 1))))) - #{tmp\ 1916}#) - ((lambda (#{tmp\ 1918}#) - (if (if #{tmp\ 1918}# - (apply (lambda (#{args\ 1919}#) - (= #{lev\ 1914}# 0)) - #{tmp\ 1918}#) + (#{quasi\ 1811}# + (list #{p\ 1852}#) + (- #{lev\ 1849}# 1))))) + #{tmp\ 1851}#) + ((lambda (#{tmp\ 1853}#) + (if (if #{tmp\ 1853}# + (apply (lambda (#{args\ 1854}#) + (= #{lev\ 1849}# 0)) + #{tmp\ 1853}#) #f) - (apply (lambda (#{args\ 1920}#) + (apply (lambda (#{args\ 1855}#) (syntax-violation 'unquote "unquote takes exactly one argument" - #{p\ 1913}# + #{p\ 1848}# (cons '#(syntax-object unquote ((top) @@ -13274,19 +13033,19 @@ #((top) (top) (top) (top)) #("i" "i" "i" "i"))) (hygiene guile)) - #{args\ 1920}#))) - #{tmp\ 1918}#) - ((lambda (#{tmp\ 1921}#) - (if #{tmp\ 1921}# - (apply (lambda (#{p\ 1922}# #{q\ 1923}#) - (if (= #{lev\ 1914}# 0) - (#{quasiappend\ 1874}# - #{p\ 1922}# - (#{quasi\ 1876}# - #{q\ 1923}# - #{lev\ 1914}#)) - (#{quasicons\ 1873}# - (#{quasicons\ 1873}# + #{args\ 1855}#))) + #{tmp\ 1853}#) + ((lambda (#{tmp\ 1856}#) + (if #{tmp\ 1856}# + (apply (lambda (#{p\ 1857}# #{q\ 1858}#) + (if (= #{lev\ 1849}# 0) + (#{quasiappend\ 1809}# + #{p\ 1857}# + (#{quasi\ 1811}# + #{q\ 1858}# + #{lev\ 1849}#)) + (#{quasicons\ 1808}# + (#{quasicons\ 1808}# '(#(syntax-object quote ((top) @@ -13333,26 +13092,26 @@ (top)) #("i" "i" "i" "i"))) (hygiene guile))) - (#{quasi\ 1876}# - (list #{p\ 1922}#) - (- #{lev\ 1914}# 1))) - (#{quasi\ 1876}# - #{q\ 1923}# - #{lev\ 1914}#)))) - #{tmp\ 1921}#) - ((lambda (#{tmp\ 1924}#) - (if (if #{tmp\ 1924}# - (apply (lambda (#{args\ 1925}# - #{q\ 1926}#) - (= #{lev\ 1914}# 0)) - #{tmp\ 1924}#) + (#{quasi\ 1811}# + (list #{p\ 1857}#) + (- #{lev\ 1849}# 1))) + (#{quasi\ 1811}# + #{q\ 1858}# + #{lev\ 1849}#)))) + #{tmp\ 1856}#) + ((lambda (#{tmp\ 1859}#) + (if (if #{tmp\ 1859}# + (apply (lambda (#{args\ 1860}# + #{q\ 1861}#) + (= #{lev\ 1849}# 0)) + #{tmp\ 1859}#) #f) - (apply (lambda (#{args\ 1927}# - #{q\ 1928}#) + (apply (lambda (#{args\ 1862}# + #{q\ 1863}#) (syntax-violation 'unquote-splicing "unquote-splicing takes exactly one argument" - #{p\ 1913}# + #{p\ 1848}# (cons '#(syntax-object unquote-splicing ((top) @@ -13382,12 +13141,12 @@ "i" "i"))) (hygiene guile)) - #{args\ 1927}#))) - #{tmp\ 1924}#) - ((lambda (#{tmp\ 1929}#) - (if #{tmp\ 1929}# - (apply (lambda (#{p\ 1930}#) - (#{quasicons\ 1873}# + #{args\ 1862}#))) + #{tmp\ 1859}#) + ((lambda (#{tmp\ 1864}#) + (if #{tmp\ 1864}# + (apply (lambda (#{p\ 1865}#) + (#{quasicons\ 1808}# '(#(syntax-object quote ((top) @@ -13446,32 +13205,32 @@ "i" "i"))) (hygiene guile))) - (#{quasi\ 1876}# - (list #{p\ 1930}#) - (+ #{lev\ 1914}# + (#{quasi\ 1811}# + (list #{p\ 1865}#) + (+ #{lev\ 1849}# 1)))) - #{tmp\ 1929}#) - ((lambda (#{tmp\ 1931}#) - (if #{tmp\ 1931}# - (apply (lambda (#{p\ 1932}# - #{q\ 1933}#) - (#{quasicons\ 1873}# - (#{quasi\ 1876}# - #{p\ 1932}# - #{lev\ 1914}#) - (#{quasi\ 1876}# - #{q\ 1933}# - #{lev\ 1914}#))) - #{tmp\ 1931}#) - ((lambda (#{tmp\ 1934}#) - (if #{tmp\ 1934}# - (apply (lambda (#{x\ 1935}#) - (#{quasivector\ 1875}# - (#{quasi\ 1876}# - #{x\ 1935}# - #{lev\ 1914}#))) - #{tmp\ 1934}#) - ((lambda (#{p\ 1937}#) + #{tmp\ 1864}#) + ((lambda (#{tmp\ 1866}#) + (if #{tmp\ 1866}# + (apply (lambda (#{p\ 1867}# + #{q\ 1868}#) + (#{quasicons\ 1808}# + (#{quasi\ 1811}# + #{p\ 1867}# + #{lev\ 1849}#) + (#{quasi\ 1811}# + #{q\ 1868}# + #{lev\ 1849}#))) + #{tmp\ 1866}#) + ((lambda (#{tmp\ 1869}#) + (if #{tmp\ 1869}# + (apply (lambda (#{x\ 1870}#) + (#{quasivector\ 1810}# + (#{quasi\ 1811}# + #{x\ 1870}# + #{lev\ 1849}#))) + #{tmp\ 1869}#) + ((lambda (#{p\ 1872}#) (list '#(syntax-object quote ((top) @@ -13504,16 +13263,16 @@ "i"))) (hygiene guile)) - #{p\ 1937}#)) - #{tmp\ 1915}#))) + #{p\ 1872}#)) + #{tmp\ 1850}#))) ($sc-dispatch - #{tmp\ 1915}# + #{tmp\ 1850}# '#(vector each-any))))) ($sc-dispatch - #{tmp\ 1915}# + #{tmp\ 1850}# '(any . any))))) ($sc-dispatch - #{tmp\ 1915}# + #{tmp\ 1850}# '(#(free-id #(syntax-object quasiquote @@ -13533,7 +13292,7 @@ (hygiene guile))) any))))) ($sc-dispatch - #{tmp\ 1915}# + #{tmp\ 1850}# '((#(free-id #(syntax-object unquote-splicing @@ -13556,7 +13315,7 @@ . any))))) ($sc-dispatch - #{tmp\ 1915}# + #{tmp\ 1850}# '((#(free-id #(syntax-object unquote-splicing @@ -13578,7 +13337,7 @@ . any))))) ($sc-dispatch - #{tmp\ 1915}# + #{tmp\ 1850}# '(#(free-id #(syntax-object unquote @@ -13596,7 +13355,7 @@ . any))))) ($sc-dispatch - #{tmp\ 1915}# + #{tmp\ 1850}# '(#(free-id #(syntax-object unquote @@ -13609,49 +13368,49 @@ #("i" "i" "i" "i"))) (hygiene guile))) any)))) - #{p\ 1913}#)))) - (lambda (#{x\ 1938}#) - ((lambda (#{tmp\ 1939}#) - ((lambda (#{tmp\ 1940}#) - (if #{tmp\ 1940}# - (apply (lambda (#{_\ 1941}# #{e\ 1942}#) - (#{quasi\ 1876}# #{e\ 1942}# 0)) - #{tmp\ 1940}#) + #{p\ 1848}#)))) + (lambda (#{x\ 1873}#) + ((lambda (#{tmp\ 1874}#) + ((lambda (#{tmp\ 1875}#) + (if #{tmp\ 1875}# + (apply (lambda (#{_\ 1876}# #{e\ 1877}#) + (#{quasi\ 1811}# #{e\ 1877}# 0)) + #{tmp\ 1875}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1939}#))) - ($sc-dispatch #{tmp\ 1939}# (quote (any any))))) - #{x\ 1938}#))))) + #{tmp\ 1874}#))) + ($sc-dispatch #{tmp\ 1874}# (quote (any any))))) + #{x\ 1873}#))))) (define include (make-syncase-macro 'macro - (lambda (#{x\ 1943}#) - (letrec ((#{read-file\ 1944}# - (lambda (#{fn\ 1945}# #{k\ 1946}#) - (let ((#{p\ 1947}# (open-input-file #{fn\ 1945}#))) - (letrec ((#{f\ 1948}# - (lambda (#{x\ 1949}#) - (if (eof-object? #{x\ 1949}#) + (lambda (#{x\ 1878}#) + (letrec ((#{read-file\ 1879}# + (lambda (#{fn\ 1880}# #{k\ 1881}#) + (let ((#{p\ 1882}# (open-input-file #{fn\ 1880}#))) + (letrec ((#{f\ 1883}# + (lambda (#{x\ 1884}#) + (if (eof-object? #{x\ 1884}#) (begin - (close-input-port #{p\ 1947}#) + (close-input-port #{p\ 1882}#) '()) (cons (datum->syntax - #{k\ 1946}# - #{x\ 1949}#) - (#{f\ 1948}# (read #{p\ 1947}#))))))) - (#{f\ 1948}# (read #{p\ 1947}#))))))) - ((lambda (#{tmp\ 1950}#) - ((lambda (#{tmp\ 1951}#) - (if #{tmp\ 1951}# - (apply (lambda (#{k\ 1952}# #{filename\ 1953}#) - (let ((#{fn\ 1954}# - (syntax->datum #{filename\ 1953}#))) - ((lambda (#{tmp\ 1955}#) - ((lambda (#{tmp\ 1956}#) - (if #{tmp\ 1956}# - (apply (lambda (#{exp\ 1957}#) + #{k\ 1881}# + #{x\ 1884}#) + (#{f\ 1883}# (read #{p\ 1882}#))))))) + (#{f\ 1883}# (read #{p\ 1882}#))))))) + ((lambda (#{tmp\ 1885}#) + ((lambda (#{tmp\ 1886}#) + (if #{tmp\ 1886}# + (apply (lambda (#{k\ 1887}# #{filename\ 1888}#) + (let ((#{fn\ 1889}# + (syntax->datum #{filename\ 1888}#))) + ((lambda (#{tmp\ 1890}#) + ((lambda (#{tmp\ 1891}#) + (if #{tmp\ 1891}# + (apply (lambda (#{exp\ 1892}#) (cons '#(syntax-object begin ((top) @@ -13678,33 +13437,33 @@ #((top)) #("i"))) (hygiene guile)) - #{exp\ 1957}#)) - #{tmp\ 1956}#) + #{exp\ 1892}#)) + #{tmp\ 1891}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1955}#))) - ($sc-dispatch #{tmp\ 1955}# (quote each-any)))) - (#{read-file\ 1944}# #{fn\ 1954}# #{k\ 1952}#)))) - #{tmp\ 1951}#) + #{tmp\ 1890}#))) + ($sc-dispatch #{tmp\ 1890}# (quote each-any)))) + (#{read-file\ 1879}# #{fn\ 1889}# #{k\ 1887}#)))) + #{tmp\ 1886}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1950}#))) - ($sc-dispatch #{tmp\ 1950}# (quote (any any))))) - #{x\ 1943}#))))) + #{tmp\ 1885}#))) + ($sc-dispatch #{tmp\ 1885}# (quote (any any))))) + #{x\ 1878}#))))) (define include-from-path (make-syncase-macro 'macro - (lambda (#{x\ 1959}#) - ((lambda (#{tmp\ 1960}#) - ((lambda (#{tmp\ 1961}#) - (if #{tmp\ 1961}# - (apply (lambda (#{k\ 1962}# #{filename\ 1963}#) - (let ((#{fn\ 1964}# (syntax->datum #{filename\ 1963}#))) - ((lambda (#{tmp\ 1965}#) - ((lambda (#{fn\ 1966}#) + (lambda (#{x\ 1894}#) + ((lambda (#{tmp\ 1895}#) + ((lambda (#{tmp\ 1896}#) + (if #{tmp\ 1896}# + (apply (lambda (#{k\ 1897}# #{filename\ 1898}#) + (let ((#{fn\ 1899}# (syntax->datum #{filename\ 1898}#))) + ((lambda (#{tmp\ 1900}#) + ((lambda (#{fn\ 1901}#) (list '#(syntax-object include ((top) @@ -13719,78 +13478,78 @@ #(ribcage () () ()) #(ribcage #(x) #((top)) #("i"))) (hygiene guile)) - #{fn\ 1966}#)) - #{tmp\ 1965}#)) - (let ((#{t\ 1967}# (%search-load-path #{fn\ 1964}#))) - (if #{t\ 1967}# - #{t\ 1967}# + #{fn\ 1901}#)) + #{tmp\ 1900}#)) + (let ((#{t\ 1902}# (%search-load-path #{fn\ 1899}#))) + (if #{t\ 1902}# + #{t\ 1902}# (syntax-violation 'include-from-path "file not found in path" - #{x\ 1959}# - #{filename\ 1963}#)))))) - #{tmp\ 1961}#) + #{x\ 1894}# + #{filename\ 1898}#)))))) + #{tmp\ 1896}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1960}#))) - ($sc-dispatch #{tmp\ 1960}# (quote (any any))))) - #{x\ 1959}#)))) + #{tmp\ 1895}#))) + ($sc-dispatch #{tmp\ 1895}# (quote (any any))))) + #{x\ 1894}#)))) (define unquote (make-syncase-macro 'macro - (lambda (#{x\ 1968}#) - ((lambda (#{tmp\ 1969}#) - ((lambda (#{tmp\ 1970}#) - (if #{tmp\ 1970}# - (apply (lambda (#{_\ 1971}# #{e\ 1972}#) + (lambda (#{x\ 1903}#) + ((lambda (#{tmp\ 1904}#) + ((lambda (#{tmp\ 1905}#) + (if #{tmp\ 1905}# + (apply (lambda (#{_\ 1906}# #{e\ 1907}#) (syntax-violation 'unquote "expression not valid outside of quasiquote" - #{x\ 1968}#)) - #{tmp\ 1970}#) + #{x\ 1903}#)) + #{tmp\ 1905}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1969}#))) - ($sc-dispatch #{tmp\ 1969}# (quote (any any))))) - #{x\ 1968}#)))) + #{tmp\ 1904}#))) + ($sc-dispatch #{tmp\ 1904}# (quote (any any))))) + #{x\ 1903}#)))) (define unquote-splicing (make-syncase-macro 'macro - (lambda (#{x\ 1973}#) - ((lambda (#{tmp\ 1974}#) - ((lambda (#{tmp\ 1975}#) - (if #{tmp\ 1975}# - (apply (lambda (#{_\ 1976}# #{e\ 1977}#) + (lambda (#{x\ 1908}#) + ((lambda (#{tmp\ 1909}#) + ((lambda (#{tmp\ 1910}#) + (if #{tmp\ 1910}# + (apply (lambda (#{_\ 1911}# #{e\ 1912}#) (syntax-violation 'unquote-splicing "expression not valid outside of quasiquote" - #{x\ 1973}#)) - #{tmp\ 1975}#) + #{x\ 1908}#)) + #{tmp\ 1910}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1974}#))) - ($sc-dispatch #{tmp\ 1974}# (quote (any any))))) - #{x\ 1973}#)))) + #{tmp\ 1909}#))) + ($sc-dispatch #{tmp\ 1909}# (quote (any any))))) + #{x\ 1908}#)))) (define case (make-extended-syncase-macro (module-ref (current-module) (quote case)) 'macro - (lambda (#{x\ 1978}#) - ((lambda (#{tmp\ 1979}#) - ((lambda (#{tmp\ 1980}#) - (if #{tmp\ 1980}# - (apply (lambda (#{_\ 1981}# - #{e\ 1982}# - #{m1\ 1983}# - #{m2\ 1984}#) - ((lambda (#{tmp\ 1985}#) - ((lambda (#{body\ 1986}#) + (lambda (#{x\ 1913}#) + ((lambda (#{tmp\ 1914}#) + ((lambda (#{tmp\ 1915}#) + (if #{tmp\ 1915}# + (apply (lambda (#{_\ 1916}# + #{e\ 1917}# + #{m1\ 1918}# + #{m2\ 1919}#) + ((lambda (#{tmp\ 1920}#) + ((lambda (#{body\ 1921}#) (list '#(syntax-object let ((top) @@ -13819,17 +13578,17 @@ #((top)) #("i"))) (hygiene guile)) - #{e\ 1982}#)) - #{body\ 1986}#)) - #{tmp\ 1985}#)) - (letrec ((#{f\ 1987}# - (lambda (#{clause\ 1988}# #{clauses\ 1989}#) - (if (null? #{clauses\ 1989}#) - ((lambda (#{tmp\ 1991}#) - ((lambda (#{tmp\ 1992}#) - (if #{tmp\ 1992}# - (apply (lambda (#{e1\ 1993}# - #{e2\ 1994}#) + #{e\ 1917}#)) + #{body\ 1921}#)) + #{tmp\ 1920}#)) + (letrec ((#{f\ 1922}# + (lambda (#{clause\ 1923}# #{clauses\ 1924}#) + (if (null? #{clauses\ 1924}#) + ((lambda (#{tmp\ 1926}#) + ((lambda (#{tmp\ 1927}#) + (if #{tmp\ 1927}# + (apply (lambda (#{e1\ 1928}# + #{e2\ 1929}#) (cons '#(syntax-object begin ((top) @@ -13875,14 +13634,14 @@ #("i"))) (hygiene guile)) - (cons #{e1\ 1993}# - #{e2\ 1994}#))) - #{tmp\ 1992}#) - ((lambda (#{tmp\ 1996}#) - (if #{tmp\ 1996}# - (apply (lambda (#{k\ 1997}# - #{e1\ 1998}# - #{e2\ 1999}#) + (cons #{e1\ 1928}# + #{e2\ 1929}#))) + #{tmp\ 1927}#) + ((lambda (#{tmp\ 1931}#) + (if #{tmp\ 1931}# + (apply (lambda (#{k\ 1932}# + #{e1\ 1933}# + #{e2\ 1934}#) (list '#(syntax-object if ((top) @@ -14083,7 +13842,7 @@ #("i"))) (hygiene guile)) - #{k\ 1997}#)) + #{k\ 1932}#)) (cons '#(syntax-object begin ((top) @@ -14134,24 +13893,24 @@ #("i"))) (hygiene guile)) - (cons #{e1\ 1998}# - #{e2\ 1999}#)))) - #{tmp\ 1996}#) - ((lambda (#{_\ 2002}#) + (cons #{e1\ 1933}# + #{e2\ 1934}#)))) + #{tmp\ 1931}#) + ((lambda (#{_\ 1937}#) (syntax-violation 'case "bad clause" - #{x\ 1978}# - #{clause\ 1988}#)) - #{tmp\ 1991}#))) + #{x\ 1913}# + #{clause\ 1923}#)) + #{tmp\ 1926}#))) ($sc-dispatch - #{tmp\ 1991}# + #{tmp\ 1926}# '(each-any any . each-any))))) ($sc-dispatch - #{tmp\ 1991}# + #{tmp\ 1926}# '(#(free-id #(syntax-object else @@ -14177,15 +13936,15 @@ any . each-any)))) - #{clause\ 1988}#) - ((lambda (#{tmp\ 2003}#) - ((lambda (#{rest\ 2004}#) - ((lambda (#{tmp\ 2005}#) - ((lambda (#{tmp\ 2006}#) - (if #{tmp\ 2006}# - (apply (lambda (#{k\ 2007}# - #{e1\ 2008}# - #{e2\ 2009}#) + #{clause\ 1923}#) + ((lambda (#{tmp\ 1938}#) + ((lambda (#{rest\ 1939}#) + ((lambda (#{tmp\ 1940}#) + ((lambda (#{tmp\ 1941}#) + (if #{tmp\ 1941}# + (apply (lambda (#{k\ 1942}# + #{e1\ 1943}# + #{e2\ 1944}#) (list '#(syntax-object if ((top) @@ -14402,7 +14161,7 @@ #("i"))) (hygiene guile)) - #{k\ 2007}#)) + #{k\ 1942}#)) (cons '#(syntax-object begin ((top) @@ -14457,47 +14216,47 @@ #("i"))) (hygiene guile)) - (cons #{e1\ 2008}# - #{e2\ 2009}#)) - #{rest\ 2004}#)) - #{tmp\ 2006}#) - ((lambda (#{_\ 2012}#) + (cons #{e1\ 1943}# + #{e2\ 1944}#)) + #{rest\ 1939}#)) + #{tmp\ 1941}#) + ((lambda (#{_\ 1947}#) (syntax-violation 'case "bad clause" - #{x\ 1978}# - #{clause\ 1988}#)) - #{tmp\ 2005}#))) + #{x\ 1913}# + #{clause\ 1923}#)) + #{tmp\ 1940}#))) ($sc-dispatch - #{tmp\ 2005}# + #{tmp\ 1940}# '(each-any any . each-any)))) - #{clause\ 1988}#)) - #{tmp\ 2003}#)) - (#{f\ 1987}# - (car #{clauses\ 1989}#) - (cdr #{clauses\ 1989}#))))))) - (#{f\ 1987}# #{m1\ 1983}# #{m2\ 1984}#)))) - #{tmp\ 1980}#) + #{clause\ 1923}#)) + #{tmp\ 1938}#)) + (#{f\ 1922}# + (car #{clauses\ 1924}#) + (cdr #{clauses\ 1924}#))))))) + (#{f\ 1922}# #{m1\ 1918}# #{m2\ 1919}#)))) + #{tmp\ 1915}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 1979}#))) + #{tmp\ 1914}#))) ($sc-dispatch - #{tmp\ 1979}# + #{tmp\ 1914}# '(any any any . each-any)))) - #{x\ 1978}#)))) + #{x\ 1913}#)))) (define identifier-syntax (make-syncase-macro 'macro - (lambda (#{x\ 2013}#) - ((lambda (#{tmp\ 2014}#) - ((lambda (#{tmp\ 2015}#) - (if #{tmp\ 2015}# - (apply (lambda (#{_\ 2016}# #{e\ 2017}#) + (lambda (#{x\ 1948}#) + ((lambda (#{tmp\ 1949}#) + ((lambda (#{tmp\ 1950}#) + (if #{tmp\ 1950}# + (apply (lambda (#{_\ 1951}# #{e\ 1952}#) (list '#(syntax-object lambda ((top) @@ -14586,8 +14345,8 @@ #((top)) #("i"))) (hygiene guile)) - #{e\ 2017}#)) - (list (cons #{_\ 2016}# + #{e\ 1952}#)) + (list (cons #{_\ 1951}# '(#(syntax-object x ((top) @@ -14627,7 +14386,7 @@ #((top)) #("i"))) (hygiene guile)) - (cons #{e\ 2017}# + (cons #{e\ 1952}# '(#(syntax-object x ((top) @@ -14655,26 +14414,26 @@ #("i"))) (hygiene guile))))))))) - #{tmp\ 2015}#) + #{tmp\ 1950}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 2014}#))) - ($sc-dispatch #{tmp\ 2014}# (quote (any any))))) - #{x\ 2013}#)))) + #{tmp\ 1949}#))) + ($sc-dispatch #{tmp\ 1949}# (quote (any any))))) + #{x\ 1948}#)))) (define define* (make-syncase-macro 'macro - (lambda (#{x\ 2018}#) - ((lambda (#{tmp\ 2019}#) - ((lambda (#{tmp\ 2020}#) - (if #{tmp\ 2020}# - (apply (lambda (#{dummy\ 2021}# - #{id\ 2022}# - #{args\ 2023}# - #{b0\ 2024}# - #{b1\ 2025}#) + (lambda (#{x\ 1953}#) + ((lambda (#{tmp\ 1954}#) + ((lambda (#{tmp\ 1955}#) + (if #{tmp\ 1955}# + (apply (lambda (#{dummy\ 1956}# + #{id\ 1957}# + #{args\ 1958}# + #{b0\ 1959}# + #{b1\ 1960}#) (list '#(syntax-object define ((top) @@ -14685,7 +14444,7 @@ #(ribcage () () ()) #(ribcage #(x) #(("m" top)) #("i"))) (hygiene guile)) - #{id\ 2022}# + #{id\ 1957}# (cons '#(syntax-object lambda* ((top) @@ -14696,15 +14455,15 @@ #(ribcage () () ()) #(ribcage #(x) #(("m" top)) #("i"))) (hygiene guile)) - (cons #{args\ 2023}# - (cons #{b0\ 2024}# #{b1\ 2025}#))))) - #{tmp\ 2020}#) + (cons #{args\ 1958}# + (cons #{b0\ 1959}# #{b1\ 1960}#))))) + #{tmp\ 1955}#) (syntax-violation #f "source expression failed to match any pattern" - #{tmp\ 2019}#))) + #{tmp\ 1954}#))) ($sc-dispatch - #{tmp\ 2019}# + #{tmp\ 1954}# '(any (any . any) any . each-any)))) - #{x\ 2018}#)))) + #{x\ 1953}#)))) diff --git a/module/ice-9/psyntax.scm b/module/ice-9/psyntax.scm index d0073c132..ae75bc6ad 100644 --- a/module/ice-9/psyntax.scm +++ b/module/ice-9/psyntax.scm @@ -449,10 +449,10 @@ (else (decorate-source `(define ,var ,exp) source))))) ;; Ideally we would have all lambdas be case lambdas, but that would - ;; need special support in the interpreter for the full capabilities of - ;; case-lambda, with optional and keyword args, predicates, and else - ;; clauses. This will come with the new interpreter, but for now we - ;; separate the cases. + ;; need special support in the interpreter for the full capabilities + ;; of case-lambda, with optional and keyword args and else clauses. + ;; This will come with the new interpreter, but for now we separate + ;; the cases. (define build-simple-lambda (lambda (src req rest vars docstring exp) (case (fluid-ref *mode*) @@ -460,8 +460,8 @@ (if docstring `((documentation . ,docstring)) '()) ;; hah, a case in which kwargs would be nice. ((@ (language tree-il) make-lambda-case) - ;; src req opt rest kw inits vars predicate body else - src req #f rest #f '() vars #f exp #f))) + ;; src req opt rest kw inits vars body else + src req #f rest #f '() vars exp #f))) (else (decorate-source `(lambda ,(if rest (apply cons* vars) vars) ,@(if docstring (list docstring) '()) @@ -490,14 +490,13 @@ ;; vars: (sym ...) ;; vars map to named arguments in the following order: ;; required, optional (positional), rest, keyword. - ;; predicate: something you can stuff in a (lambda ,vars ,pred), already expanded ;; the body of a lambda: anything, already expanded ;; else: lambda-case | #f - (lambda (src req opt rest kw inits vars predicate body else-case) + (lambda (src req opt rest kw inits vars body else-case) (case (fluid-ref *mode*) ((c) ((@ (language tree-il) make-lambda-case) - src req opt rest kw inits vars predicate body else-case)) + src req opt rest kw inits vars body else-case)) (else ;; Very much like the logic of (language tree-il compile-glil). (let* ((nreq (length req)) @@ -519,7 +518,6 @@ `((((@@ (ice-9 optargs) parse-lambda-case) '(,nreq ,nopt ,rest-idx ,nargs ,allow-other-keys? ,kw-indices) (list ,@(map (lambda (i) `(lambda ,vars ,i)) inits)) - ,(if predicate `(lambda ,vars ,predicate) #f) %%args) ;; FIXME: This _ is here to work around a bug in the ;; memoizer. The %%% makes it different from %%, also a @@ -1585,7 +1583,7 @@ (define (check req rest) (cond ((distinct-bound-ids? (if rest (cons rest req) req)) - (values req #f rest #f #f)) + (values req #f rest #f)) (else (syntax-violation 'lambda "duplicate identifier in argument list" orig-args)))) @@ -1610,44 +1608,40 @@ (define (req args rreq) (syntax-case args () (() - (check (reverse rreq) '() #f '() #f)) + (check (reverse rreq) '() #f '())) ((a . b) (id? #'a) (req #'b (cons #'a rreq))) ((a . b) (eq? (syntax->datum #'a) #:optional) (opt #'b (reverse rreq) '())) ((a . b) (eq? (syntax->datum #'a) #:key) (key #'b (reverse rreq) '() '())) - ((a . b) (eq? (syntax->datum #'a) #:predicate) - (pred #'b (reverse rreq) '() '())) ((a b) (eq? (syntax->datum #'a) #:rest) - (rest #'b (reverse rreq) '() '() #f)) + (rest #'b (reverse rreq) '() '())) (r (id? #'r) - (rest #'r (reverse rreq) '() '() #f)) + (rest #'r (reverse rreq) '() '())) (else (syntax-violation 'lambda* "invalid argument list" orig-args args)))) (define (opt args req ropt) (syntax-case args () (() - (check req (reverse ropt) #f '() #f)) + (check req (reverse ropt) #f '())) ((a . b) (id? #'a) (opt #'b req (cons #'(a #f) ropt))) (((a init) . b) (id? #'a) (opt #'b req (cons #'(a init) ropt))) ((a . b) (eq? (syntax->datum #'a) #:key) (key #'b req (reverse ropt) '())) - ((a . b) (eq? (syntax->datum #'a) #:predicate) - (pred #'b req (reverse ropt) '())) ((a b) (eq? (syntax->datum #'a) #:rest) - (rest #'b req (reverse ropt) '() #f)) + (rest #'b req (reverse ropt) '())) (r (id? #'r) - (rest #'r req (reverse ropt) '() #f)) + (rest #'r req (reverse ropt) '())) (else (syntax-violation 'lambda* "invalid optional argument list" orig-args args)))) (define (key args req opt rkey) (syntax-case args () (() - (check req opt #f (cons #f (reverse rkey)) #f)) + (check req opt #f (cons #f (reverse rkey)))) ((a . b) (id? #'a) (with-syntax ((k (symbol->keyword (syntax->datum #'a)))) (key #'b req opt (cons #'(k a #f) rkey)))) @@ -1658,48 +1652,33 @@ (keyword? (syntax->datum #'k))) (key #'b req opt (cons #'(k a init) rkey))) ((aok) (eq? (syntax->datum #'aok) #:allow-other-keys) - (check req opt #f (cons #t (reverse rkey)) #f)) - ((aok a . b) (and (eq? (syntax->datum #'aok) #:allow-other-keys) - (eq? (syntax->datum #'a) #:predicate)) - (pred #'b req opt (cons #t (reverse rkey)))) + (check req opt #f (cons #t (reverse rkey)))) ((aok a b) (and (eq? (syntax->datum #'aok) #:allow-other-keys) (eq? (syntax->datum #'a) #:rest)) - (rest #'b req opt (cons #t (reverse rkey)) #f)) + (rest #'b req opt (cons #t (reverse rkey)))) ((aok . r) (and (eq? (syntax->datum #'aok) #:allow-other-keys) (id? #'r)) - (rest #'r req opt (cons #t (reverse rkey)) #f)) - ((a . b) (eq? (syntax->datum #'a) #:predicate) - (pred #'b req opt (cons #f (reverse rkey)))) + (rest #'r req opt (cons #t (reverse rkey)))) ((a b) (eq? (syntax->datum #'a) #:rest) - (rest #'b req opt (cons #f (reverse rkey)) #f)) + (rest #'b req opt (cons #f (reverse rkey)))) (r (id? #'r) - (rest #'r req opt (cons #f (reverse rkey)) #f)) + (rest #'r req opt (cons #f (reverse rkey)))) (else (syntax-violation 'lambda* "invalid keyword argument list" orig-args args)))) - (define (pred args req opt kw) - (syntax-case args () - ((x) (check req opt #f kw #'x)) - ((x a b) (eq? (syntax->datum #'a) #:rest) - (rest #'b req opt kw #f)) - ((x . b) (id? #'b) - (rest #'b req opt kw #f)) - (else - (syntax-violation 'lambda* "invalid argument list following #:predicate" - orig-args args)))) - (define (rest args req opt kw pred) + (define (rest args req opt kw) (syntax-case args () (r (id? #'r) - (check req opt #'r kw pred)) + (check req opt #'r kw)) (else (syntax-violation 'lambda* "invalid rest argument" orig-args args)))) - (define (check req opt rest kw pred) + (define (check req opt rest kw) (cond ((distinct-bound-ids? (append req (map car opt) (if rest (list rest) '()) (if (pair? kw) (map cadr (cdr kw)) '()))) - (values req opt rest kw pred)) + (values req opt rest kw)) (else (syntax-violation 'lambda* "duplicate identifier in argument list" orig-args)))) @@ -1707,14 +1686,14 @@ (define chi-lambda-case (lambda (e r w s mod get-formals clauses) - (define (expand-req req opt rest kw pred body) + (define (expand-req req opt rest kw body) (let ((vars (map gen-var req)) (labels (gen-labels req))) (let ((r* (extend-var-env labels vars r)) (w* (make-binding-wrap req labels w))) (expand-opt (map syntax->datum req) - opt rest kw pred body (reverse vars) r* w* '() '())))) - (define (expand-opt req opt rest kw pred body vars r* w* out inits) + opt rest kw body (reverse vars) r* w* '() '())))) + (define (expand-opt req opt rest kw body vars r* w* out inits) (cond ((pair? opt) (syntax-case (car opt) () @@ -1723,7 +1702,7 @@ (l (gen-labels (list v))) (r** (extend-var-env l (list v) r*)) (w** (make-binding-wrap (list #'id) l w*))) - (expand-opt req (cdr opt) rest kw pred body (cons v vars) + (expand-opt req (cdr opt) rest kw body (cons v vars) r** w** (cons (syntax->datum #'id) out) (cons (chi #'i r* w* mod) inits)))))) (rest @@ -1734,16 +1713,16 @@ (expand-kw req (if (pair? out) (reverse out) #f) (syntax->datum rest) (if (pair? kw) (cdr kw) kw) - pred body (cons v vars) r* w* + body (cons v vars) r* w* (if (pair? kw) (car kw) #f) '() inits))) (else (expand-kw req (if (pair? out) (reverse out) #f) #f (if (pair? kw) (cdr kw) kw) - pred body vars r* w* + body vars r* w* (if (pair? kw) (car kw) #f) '() inits)))) - (define (expand-kw req opt rest kw pred body vars r* w* aok out inits) + (define (expand-kw req opt rest kw body vars r* w* aok out inits) (cond ((pair? kw) (syntax-case (car kw) () @@ -1752,7 +1731,7 @@ (l (gen-labels (list v))) (r** (extend-var-env l (list v) r*)) (w** (make-binding-wrap (list #'id) l w*))) - (expand-kw req opt rest (cdr kw) pred body (cons v vars) + (expand-kw req opt rest (cdr kw) body (cons v vars) r** w** aok (cons (list (syntax->datum #'k) (syntax->datum #'id) @@ -1760,20 +1739,17 @@ out) (cons (chi #'i r* w* mod) inits)))))) (else - (expand-pred req opt rest + (expand-body req opt rest (if (or aok (pair? out)) (cons aok (reverse out)) #f) - pred body (reverse vars) r* w* (reverse inits))))) - (define (expand-pred req opt rest kw pred body vars r* w* inits) - (expand-body req opt rest kw (and pred (chi pred r* w* mod)) - body vars r* w* inits)) - (define (expand-body req opt rest kw pred body vars r* w* inits) + body (reverse vars) r* w* (reverse inits))))) + (define (expand-body req opt rest kw body vars r* w* inits) (syntax-case body () ((docstring e1 e2 ...) (string? (syntax->datum #'docstring)) - (values (syntax->datum #'docstring) req opt rest kw inits vars pred + (values (syntax->datum #'docstring) req opt rest kw inits vars (chi-body #'(e1 e2 ...) (source-wrap e w s mod) r* w* mod))) ((e1 e2 ...) - (values #f req opt rest kw inits vars pred + (values #f req opt rest kw inits vars (chi-body #'(e1 e2 ...) (source-wrap e w s mod) r* w* mod))))) @@ -1781,10 +1757,10 @@ (() (values #f #f)) (((args e1 e2 ...) (args* e1* e2* ...) ...) (call-with-values (lambda () (get-formals #'args)) - (lambda (req opt rest kw pred) + (lambda (req opt rest kw) (call-with-values (lambda () - (expand-req req opt rest kw pred #'(e1 e2 ...))) - (lambda (docstring req opt rest kw inits vars pred body) + (expand-req req opt rest kw #'(e1 e2 ...))) + (lambda (docstring req opt rest kw inits vars body) (call-with-values (lambda () (chi-lambda-case e r w s mod get-formals @@ -1793,7 +1769,7 @@ (values (or docstring docstring*) (build-lambda-case s req opt rest kw inits vars - pred body else*)))))))))))) + body else*)))))))))))) ;;; data @@ -2055,12 +2031,12 @@ (syntax-case e () ((_ args docstring e1 e2 ...) (string? (syntax->datum #'docstring)) (call-with-values (lambda () (lambda-formals #'args)) - (lambda (req opt rest kw pred) + (lambda (req opt rest kw) (chi-simple-lambda e r w s mod req rest (syntax->datum #'docstring) #'(e1 e2 ...))))) ((_ args e1 e2 ...) (call-with-values (lambda () (lambda-formals #'args)) - (lambda (req opt rest kw pred) + (lambda (req opt rest kw) (chi-simple-lambda e r w s mod req rest #f #'(e1 e2 ...))))) (_ (syntax-violation 'lambda "bad lambda" e))))) diff --git a/module/language/brainfuck/compile-tree-il.scm b/module/language/brainfuck/compile-tree-il.scm index 4cd63167e..33d563490 100644 --- a/module/language/brainfuck/compile-tree-il.scm +++ b/module/language/brainfuck/compile-tree-il.scm @@ -170,7 +170,7 @@ (emit `(letrec (iterate) (,iterate) ((lambda () (lambda-case - ((() #f #f #f () () #f) + ((() #f #f #f () ()) (if (apply (primitive =) (apply (primitive vector-ref) (lexical tape) (lexical pointer)) diff --git a/module/language/ecmascript/compile-tree-il.scm b/module/language/ecmascript/compile-tree-il.scm index a97a4c157..a97e55570 100644 --- a/module/language/ecmascript/compile-tree-il.scm +++ b/module/language/ecmascript/compile-tree-il.scm @@ -337,14 +337,14 @@ formals))) `(lambda () (lambda-case - ((() ,formals #f #f ,(map (lambda (x) (@implv *undefined*)) formals) ,syms #f) + ((() ,formals #f #f ,(map (lambda (x) (@implv *undefined*)) formals) ,syms) ,(comp-body e body formals syms)))))) ((call/this ,obj ,prop . ,args) (@impl call/this* obj (-> (lambda '() `(lambda-case - ((() #f #f #f () () #f) + ((() #f #f #f () ()) (apply ,(@impl pget obj prop) ,@args))))))) ((call (pref ,obj ,prop) ,args) (comp `(call/this ,(comp obj e) @@ -447,13 +447,13 @@ (-> (letrec '(%loop %continue) (list %loop %continue) (list (-> (lambda '() (-> (lambda-case - `((() #f #f #f () () #f) + `((() #f #f #f () ()) ,(-> (begin (comp statement e) (-> (apply (-> (lexical '%continue %continue))))))))))) (-> (lambda '() (-> (lambda-case - `((() #f #f #f () () #f) + `((() #f #f #f () ()) ,(-> (if (@impl ->boolean (comp test e)) (-> (apply (-> (lexical '%loop %loop)))) (@implv *undefined*))))))))) @@ -464,7 +464,7 @@ (-> (letrec '(%continue) (list %continue) (list (-> (lambda '() (-> (lambda-case - `((() #f #f #f () () #f) + `((() #f #f #f () ()) ,(-> (if (@impl ->boolean (comp test e)) (-> (begin (comp statement e) (-> (apply (-> (lexical '%continue %continue)))))) @@ -477,7 +477,7 @@ (-> (letrec '(%continue) (list %continue) (list (-> (lambda '() (-> (lambda-case - `((() #f #f #f () () #f) + `((() #f #f #f () ()) ,(-> (if (if test (@impl ->boolean (comp test e)) (comp 'true e)) @@ -496,7 +496,7 @@ (list (@impl make-enumerator (comp object e)) (-> (lambda '() (-> (lambda-case - `((() #f #f #f () () #f) + `((() #f #f #f () ()) (-> (if (@impl ->boolean (@impl pget (-> (lexical '%enum %enum)) diff --git a/module/language/tree-il.scm b/module/language/tree-il.scm index e6a8213e7..db9b467ff 100644 --- a/module/language/tree-il.scm +++ b/module/language/tree-il.scm @@ -40,7 +40,7 @@ lambda-case? make-lambda-case lambda-case-src lambda-case-req lambda-case-opt lambda-case-rest lambda-case-kw lambda-case-inits lambda-case-vars - lambda-case-predicate lambda-case-body lambda-case-else + lambda-case-body lambda-case-else let? make-let let-src let-names let-vars let-vals let-body letrec? make-letrec letrec-src letrec-names letrec-vars letrec-vals letrec-body fix? make-fix fix-src fix-names fix-vars fix-vals fix-body @@ -70,7 +70,7 @@ ( proc args) ( exps) ( meta body) - ( req opt rest kw inits vars predicate body else) + ( req opt rest kw inits vars body else) ( names vars vals body) ( names vars vals body) ( names vars vals body) @@ -135,17 +135,15 @@ ((lambda ,meta ,body) (make-lambda loc meta (retrans body))) - ((lambda-case ((,req ,opt ,rest ,kw ,inits ,vars ,predicate) ,body) ,else) + ((lambda-case ((,req ,opt ,rest ,kw ,inits ,vars) ,body) ,else) (make-lambda-case loc req opt rest kw (map retrans inits) vars - (and=> predicate retrans) (retrans body) (and=> else retrans))) - ((lambda-case ((,req ,opt ,rest ,kw ,inits ,vars ,predicate) ,body)) + ((lambda-case ((,req ,opt ,rest ,kw ,inits ,vars) ,body)) (make-lambda-case loc req opt rest kw (map retrans inits) vars - (and=> predicate retrans) (retrans body) #f)) @@ -208,9 +206,8 @@ (( meta body) `(lambda ,meta ,(unparse-tree-il body))) - (( req opt rest kw inits vars predicate body else) - `(lambda-case ((,req ,opt ,rest ,kw ,(map unparse-tree-il inits) ,vars - ,(and=> predicate unparse-tree-il)) + (( req opt rest kw inits vars body else) + `(lambda-case ((,req ,opt ,rest ,kw ,(map unparse-tree-il inits) ,vars) ,(unparse-tree-il body)) . ,(if else (list (unparse-tree-il else)) '()))) @@ -276,7 +273,7 @@ `(lambda ,@(car (tree-il->scheme body))) `(case-lambda ,@(tree-il->scheme body)))) - (( req opt rest kw inits vars predicate body else) + (( req opt rest kw inits vars body else) ;; FIXME! use parse-lambda-case? `((,(if rest (apply cons* vars) vars) ,(tree-il->scheme body)) @@ -300,7 +297,7 @@ ;; not a typo, we really do translate back to letrec `(letrec ,(map list vars (map tree-il->scheme vals)) ,(tree-il->scheme body))) - (( vars exp body) + (( exp body) `(call-with-values (lambda () ,(tree-il->scheme exp)) ,(tree-il->scheme (make-lambda #f '() body)))))) @@ -336,15 +333,11 @@ This is an implementation of `foldts' as described by Andy Wingo in (up tree (loop exps (down tree result)))) (( body) (up tree (loop body (down tree result)))) - (( inits predicate body else) + (( inits body else) (up tree (if else (loop else - (if predicate - (loop body (loop predicate (loop inits (down tree result)))) - (loop body (loop inits (down tree result))))) - (if predicate - (loop body (loop predicate (loop inits (down tree result)))) - (loop body (loop inits (down tree result))))))) + (loop body (loop inits (down tree result)))) + (loop body (loop inits (down tree result)))))) (( vals body) (up tree (loop body (loop vals @@ -396,19 +389,12 @@ This is an implementation of `foldts' as described by Andy Wingo in (fold-values foldts exps seed ...)) (( body) (foldts body seed ...)) - (( inits predicate body else) + (( inits body else) (let-values (((seed ...) (fold-values foldts inits seed ...))) - (if predicate - (if else - (let*-values (((seed ...) (foldts predicate seed ...)) - ((seed ...) (foldts body seed ...))) - (foldts else seed ...)) - (let-values (((seed ...) (foldts predicate seed ...))) - (foldts body seed ...))) - (if else - (let-values (((seed ...) (foldts body seed ...))) - (foldts else seed ...)) - (foldts body seed ...))))) + (if else + (let-values (((seed ...) (foldts body seed ...))) + (foldts else seed ...)) + (foldts body seed ...)))) (( vals body) (let*-values (((seed ...) (fold-values foldts vals seed ...))) (foldts body seed ...))) @@ -452,10 +438,8 @@ This is an implementation of `foldts' as described by Andy Wingo in (( body) (set! (lambda-body x) (lp body))) - (( inits predicate body else) + (( inits body else) (set! inits (map lp inits)) - (if predicate - (set! (lambda-case-predicate x) (lp predicate))) (set! (lambda-case-body x) (lp body)) (if else (set! (lambda-case-else x) (lp else)))) @@ -511,9 +495,8 @@ This is an implementation of `foldts' as described by Andy Wingo in (( body) (set! (lambda-body x) (lp body))) - (( inits predicate body else) + (( inits body else) (set! inits (map lp inits)) - (if predicate (set! (lambda-case-predicate x) (lp predicate))) (set! (lambda-case-body x) (lp body)) (if else (set! (lambda-case-else x) (lp else)))) diff --git a/module/language/tree-il/analyze.scm b/module/language/tree-il/analyze.scm index e06a5af3c..d00fe1d39 100644 --- a/module/language/tree-il/analyze.scm +++ b/module/language/tree-il/analyze.scm @@ -190,8 +190,7 @@ (length tail-call-args)) (not (lambda-case-opt c)) (not (lambda-case-kw c)) - (not (lambda-case-rest c)) - (not (lambda-case-predicate c))) + (not (lambda-case-rest c))) (lp (lambda-case-else c))))))))) (hashq-set! labels gensym #f)) (list gensym)) @@ -226,7 +225,7 @@ (hashq-set! free-vars x free) free)) - (( opt kw inits vars predicate body else) + (( opt kw inits vars body else) (hashq-set! bound-vars proc (append (reverse vars) (hashq-ref bound-vars proc))) (lset-union @@ -234,7 +233,6 @@ (lset-difference eq? (lset-union eq? (apply lset-union eq? (map step inits)) - (if predicate (step predicate) '()) (step-tail body)) vars) (if else (step-tail else) '()))) @@ -381,13 +379,12 @@ (hashq-set! allocation x (cons labels free-addresses))) n) - (( opt kw inits vars predicate body else) + (( opt kw inits vars body else) (max (let lp ((vars vars) (n n)) (if (null? vars) (let ((nlocs (apply max - (if predicate (allocate! predicate body n) n) (allocate! body proc n) ;; inits not logically at the end, but they ;; are the list... diff --git a/module/language/tree-il/compile-glil.scm b/module/language/tree-il/compile-glil.scm index fba0c6777..547b215e5 100644 --- a/module/language/tree-il/compile-glil.scm +++ b/module/language/tree-il/compile-glil.scm @@ -60,7 +60,7 @@ (analyze-tree analyses x e)) (let* ((x (make-lambda (tree-il-src x) '() - (make-lambda-case #f '() #f #f #f '() '() #f x #f))) + (make-lambda-case #f '() #f #f #f '() '() x #f))) (x (optimize! x e opts)) (allocation (analyze-lexicals x))) @@ -603,14 +603,13 @@ (emit-code #f (make-glil-call 'make-closure 2))))))) (maybe-emit-return)) - (( src req opt rest kw inits vars predicate else body) + (( src req opt rest kw inits vars else body) ;; o/~ feature on top of feature o/~ ;; req := (name ...) ;; opt := (name ...) | #f ;; rest := name | #f ;; kw: (allow-other-keys? (keyword name var) ...) | #f ;; vars: (sym ...) - ;; predicate: tree-il in context of vars ;; init: tree-il in context of vars ;; vars map to named arguments in the following order: ;; required, optional (positional), rest, keyword. @@ -691,15 +690,6 @@ (#t (error "what" inits)))))) ;; post-prelude case label for label calls (emit-label (car (hashq-ref allocation x))) - (if predicate - (begin - (comp-push predicate) - (if else-label - ;; fixme: debox if necessary - (emit-branch src 'br-if-not else-label) - (comp-push (make-application - src (make-primitive-ref #f 'error) - (list (make-const #f "precondition not met"))))))) (comp-tail body) (if (not (null? vars)) (emit-code #f (make-glil-unbind))) @@ -828,8 +818,8 @@ (( src exp body) (record-case body - (( req opt kw rest vars predicate body else) - (if (or opt kw predicate else) + (( req opt kw rest vars body else) + (if (or opt kw else) (error "unexpected lambda-case in let-values" x)) (let ((MV (make-label))) (comp-vals exp MV) diff --git a/module/language/tree-il/inline.scm b/module/language/tree-il/inline.scm index 9b53ec68f..facaa3825 100644 --- a/module/language/tree-il/inline.scm +++ b/module/language/tree-il/inline.scm @@ -44,9 +44,8 @@ (let lp ((lcase body)) (and lcase (record-case lcase - (( req opt rest kw inits vars predicate body else) - (if (and (= (length vars) (length req) (length args)) - (not predicate)) + (( req opt rest kw inits vars body else) + (if (and (= (length vars) (length req) (length args))) (let ((x (make-let src req vars args body))) (or (inline1 x) x)) (lp else))))))) @@ -65,7 +64,6 @@ (lambda-case? (lambda-body consumer)) (not (lambda-case-opt (lambda-body consumer))) (not (lambda-case-kw (lambda-body consumer))) - (not (lambda-case-predicate (lambda-body consumer))) (not (lambda-case-else (lambda-body consumer)))) (make-let-values src diff --git a/test-suite/tests/tree-il.test b/test-suite/tests/tree-il.test index 874552f96..3fe68652a 100644 --- a/test-suite/tests/tree-il.test +++ b/test-suite/tests/tree-il.test @@ -322,7 +322,7 @@ (with-test-prefix "lambda" (assert-tree-il->glil (lambda () - (lambda-case (((x) #f #f #f () (y) #f) (const 2)) #f)) + (lambda-case (((x) #f #f #f () (y)) (const 2)) #f)) (program () (std-prelude 0 0 #f) (label _) (program () (std-prelude 1 1 #f) (bind (x #f 0)) (label _) @@ -331,7 +331,7 @@ (assert-tree-il->glil (lambda () - (lambda-case (((x y) #f #f #f () (x1 y1) #f) + (lambda-case (((x y) #f #f #f () (x1 y1)) (const 2)) #f)) (program () (std-prelude 0 0 #f) (label _) @@ -343,7 +343,7 @@ (assert-tree-il->glil (lambda () - (lambda-case ((() #f x #f () (y) #f) (const 2)) + (lambda-case ((() #f x #f () (y)) (const 2)) #f)) (program () (std-prelude 0 0 #f) (label _) (program () (opt-prelude 0 0 0 1 #f) @@ -354,7 +354,7 @@ (assert-tree-il->glil (lambda () - (lambda-case (((x) #f x1 #f () (y y1) #f) (const 2)) + (lambda-case (((x) #f x1 #f () (y y1)) (const 2)) #f)) (program () (std-prelude 0 0 #f) (label _) (program () (opt-prelude 1 0 1 2 #f) @@ -365,7 +365,7 @@ (assert-tree-il->glil (lambda () - (lambda-case (((x) #f x1 #f () (y y1) #f) (lexical x y)) + (lambda-case (((x) #f x1 #f () (y y1)) (lexical x y)) #f)) (program () (std-prelude 0 0 #f) (label _) (program () (opt-prelude 1 0 1 2 #f) @@ -376,7 +376,7 @@ (assert-tree-il->glil (lambda () - (lambda-case (((x) #f x1 #f () (y y1) #f) (lexical x1 y1)) + (lambda-case (((x) #f x1 #f () (y y1)) (lexical x1 y1)) #f)) (program () (std-prelude 0 0 #f) (label _) (program () (opt-prelude 1 0 1 2 #f) @@ -387,9 +387,9 @@ (assert-tree-il->glil (lambda () - (lambda-case (((x) #f #f #f () (x1) #f) + (lambda-case (((x) #f #f #f () (x1)) (lambda () - (lambda-case (((y) #f #f #f () (y1) #f) + (lambda-case (((y) #f #f #f () (y1)) (lexical x x1)) #f))) #f)) @@ -523,7 +523,7 @@ (parse-tree-il '(lambda () (lambda-case - (((x y) #f #f #f () (x1 y1) #f) + (((x y) #f #f #f () (x1 y1)) (apply (toplevel +) (lexical x x1) (lexical y y1)))