10705 lines
1.3 MiB
10705 lines
1.3 MiB
;;; psyntax.pp
|
|
;;; automatically generated from psyntax.ss
|
|
;;; Tue Aug 1 21:30:16 EDT 2006
|
|
;;; see copyright notice in psyntax.ss
|
|
|
|
(let ()
|
|
(define + fx+)
|
|
;(define - fx-)
|
|
(define * fx*)
|
|
(define quotient fxquotient)
|
|
(define modulo fxmodulo)
|
|
(define number? fixnum?)
|
|
(define = fx=)
|
|
(define > fx>)
|
|
(define >= fx>=)
|
|
(define < fx<)
|
|
(define <= fx<=)
|
|
|
|
((lambda ()
|
|
(letrec ((noexpand62 '"noexpand")
|
|
(make-syntax-object63 (lambda (expression2523 wrap2522)
|
|
(vector
|
|
'syntax-object
|
|
expression2523
|
|
wrap2522)))
|
|
(syntax-object?64 (lambda (x2521)
|
|
(if (vector? x2521)
|
|
(if (= (vector-length x2521) '3)
|
|
(eq? (vector-ref x2521 '0)
|
|
'syntax-object)
|
|
'#f)
|
|
'#f)))
|
|
(syntax-object-expression65 (lambda (x2520)
|
|
(vector-ref x2520 '1)))
|
|
(syntax-object-wrap66 (lambda (x2519)
|
|
(vector-ref x2519 '2)))
|
|
(set-syntax-object-expression!67 (lambda (x2518 update2517)
|
|
(vector-set!
|
|
x2518
|
|
'1
|
|
update2517)))
|
|
(set-syntax-object-wrap!68 (lambda (x2516 update2515)
|
|
(vector-set!
|
|
x2516
|
|
'2
|
|
update2515)))
|
|
(annotation?132 (lambda (x2514) '#f))
|
|
(top-level-eval-hook133 (lambda (x2513)
|
|
(eval (list noexpand62 x2513))))
|
|
(local-eval-hook134 (lambda (x2512)
|
|
(eval (list noexpand62 x2512))))
|
|
(define-top-level-value-hook135 (lambda (sym2511 val2510)
|
|
(top-level-eval-hook133
|
|
(list
|
|
'define
|
|
sym2511
|
|
(list 'quote val2510)))))
|
|
(error-hook136 (lambda (who2509 why2508 what2507)
|
|
(error who2509 '"~a ~s" why2508 what2507)))
|
|
(put-cte-hook141 (lambda (symbol2506 val2505)
|
|
($sc-put-cte symbol2506 val2505 '*top*)))
|
|
(get-global-definition-hook142 (lambda (symbol2504)
|
|
(getprop
|
|
symbol2504
|
|
'*sc-expander*)))
|
|
(put-global-definition-hook143 (lambda (symbol2503 x2502)
|
|
(if (not x2502)
|
|
(remprop
|
|
symbol2503
|
|
'*sc-expander*)
|
|
(putprop
|
|
symbol2503
|
|
'*sc-expander*
|
|
x2502))))
|
|
(read-only-binding?144 (lambda (symbol2501) '#f))
|
|
(get-import-binding145 (lambda (symbol2500 token2499)
|
|
(getprop symbol2500 token2499)))
|
|
(put-import-binding146 (lambda (symbol2498 token2497 x2496)
|
|
(if (not x2496)
|
|
(remprop symbol2498 token2497)
|
|
(putprop
|
|
symbol2498
|
|
token2497
|
|
x2496))))
|
|
(generate-id147 ((lambda (digits2482)
|
|
((lambda (base2484 session-key2483)
|
|
(letrec ((make-digit2485 (lambda (x2495)
|
|
(string-ref
|
|
digits2482
|
|
x2495)))
|
|
(fmt2486 (lambda (n2489)
|
|
((letrec ((fmt2490 (lambda (n2492
|
|
a2491)
|
|
(if (< n2492
|
|
base2484)
|
|
(list->string
|
|
(cons
|
|
(make-digit2485
|
|
n2492)
|
|
a2491))
|
|
((lambda (r2494
|
|
rest2493)
|
|
(fmt2490
|
|
rest2493
|
|
(cons
|
|
(make-digit2485
|
|
r2494)
|
|
a2491)))
|
|
(modulo
|
|
n2492
|
|
base2484)
|
|
(quotient
|
|
n2492
|
|
base2484))))))
|
|
fmt2490)
|
|
n2489
|
|
'()))))
|
|
((lambda (n2487)
|
|
(lambda (name2488)
|
|
(begin
|
|
(set! n2487 (+ n2487 '1))
|
|
(string->symbol
|
|
(string-append
|
|
session-key2483
|
|
(fmt2486 n2487))))))
|
|
'-1)))
|
|
(string-length digits2482)
|
|
'"_"))
|
|
'"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!$%&*/:<=>?~_^.+-"))
|
|
(built-lambda?221 (lambda (x2481)
|
|
(if (pair? x2481)
|
|
(eq? (car x2481) 'lambda)
|
|
'#f)))
|
|
(build-sequence239 (lambda (ae2478 exps2477)
|
|
((letrec ((loop2479 (lambda (exps2480)
|
|
(if (null?
|
|
(cdr exps2480))
|
|
(car exps2480)
|
|
(if (equal?
|
|
(car exps2480)
|
|
'(void))
|
|
(loop2479
|
|
(cdr exps2480))
|
|
(cons
|
|
'begin
|
|
exps2480))))))
|
|
loop2479)
|
|
exps2477)))
|
|
(build-letrec240 (lambda (ae2476 vars2475 val-exps2474
|
|
body-exp2473)
|
|
(if (null? vars2475)
|
|
body-exp2473
|
|
(list
|
|
'letrec
|
|
(map list vars2475 val-exps2474)
|
|
body-exp2473))))
|
|
(build-body241 (lambda (ae2472 vars2471 val-exps2470
|
|
body-exp2469)
|
|
(build-letrec240
|
|
ae2472
|
|
vars2471
|
|
val-exps2470
|
|
body-exp2469)))
|
|
(build-top-module242 (lambda (ae2457 types2456 vars2455
|
|
val-exps2454 body-exp2453)
|
|
(call-with-values
|
|
(lambda ()
|
|
((letrec ((f2461 (lambda (types2463
|
|
vars2462)
|
|
(if (null?
|
|
types2463)
|
|
(values
|
|
'()
|
|
'()
|
|
'())
|
|
((lambda (var2464)
|
|
(call-with-values
|
|
(lambda ()
|
|
(f2461
|
|
(cdr types2463)
|
|
(cdr vars2462)))
|
|
(lambda (vars2467
|
|
defns2466
|
|
sets2465)
|
|
(if (eq? (car types2463)
|
|
'global)
|
|
((lambda (x2468)
|
|
(values
|
|
(cons
|
|
x2468
|
|
vars2467)
|
|
(cons
|
|
(list
|
|
'define
|
|
var2464
|
|
(chi-void513))
|
|
defns2466)
|
|
(cons
|
|
(list
|
|
'set!
|
|
var2464
|
|
x2468)
|
|
sets2465)))
|
|
(gensym))
|
|
(values
|
|
(cons
|
|
var2464
|
|
vars2467)
|
|
defns2466
|
|
sets2465)))))
|
|
(car vars2462))))))
|
|
f2461)
|
|
types2456
|
|
vars2455))
|
|
(lambda (vars2460 defns2459 sets2458)
|
|
(if (null? defns2459)
|
|
(build-letrec240
|
|
ae2457
|
|
vars2460
|
|
val-exps2454
|
|
body-exp2453)
|
|
(build-sequence239
|
|
'#f
|
|
(append
|
|
defns2459
|
|
(list
|
|
(build-letrec240
|
|
ae2457
|
|
vars2460
|
|
val-exps2454
|
|
(build-sequence239
|
|
'#f
|
|
(append
|
|
sets2458
|
|
(list
|
|
body-exp2453))))))))))))
|
|
(sanitize-binding275 (lambda (b2449)
|
|
(if (procedure? b2449)
|
|
(cons 'macro b2449)
|
|
(if (binding?289 b2449)
|
|
(if ((lambda (t2450)
|
|
(if (memv
|
|
t2450
|
|
'(core
|
|
macro
|
|
macro!
|
|
deferred))
|
|
(procedure?
|
|
(binding-value286
|
|
b2449))
|
|
(if (memv
|
|
t2450
|
|
'($module))
|
|
(interface?447
|
|
(binding-value286
|
|
b2449))
|
|
(if (memv
|
|
t2450
|
|
'(lexical))
|
|
'#f
|
|
(if (memv
|
|
t2450
|
|
'(global
|
|
meta-variable))
|
|
(symbol?
|
|
(binding-value286
|
|
b2449))
|
|
(if (memv
|
|
t2450
|
|
'(syntax))
|
|
((lambda (x2451)
|
|
(if (pair?
|
|
x2451)
|
|
(if '#f
|
|
((lambda (n2452)
|
|
(if (integer?
|
|
n2452)
|
|
(if (exact?
|
|
n2452)
|
|
(>= n2452
|
|
'0)
|
|
'#f)
|
|
'#f))
|
|
(cdr x2451))
|
|
'#f)
|
|
'#f))
|
|
(binding-value286
|
|
b2449))
|
|
(if (memv
|
|
t2450
|
|
'(begin
|
|
define
|
|
define-syntax
|
|
set!
|
|
$module-key
|
|
$import
|
|
eval-when
|
|
meta))
|
|
(null?
|
|
(binding-value286
|
|
b2449))
|
|
(if (memv
|
|
t2450
|
|
'(local-syntax))
|
|
(boolean?
|
|
(binding-value286
|
|
b2449))
|
|
(if (memv
|
|
t2450
|
|
'(displaced-lexical))
|
|
(eq? (binding-value286
|
|
b2449)
|
|
'#f)
|
|
'#t)))))))))
|
|
(binding-type285 b2449))
|
|
b2449
|
|
'#f)
|
|
'#f))))
|
|
(binding-type285 car)
|
|
(binding-value286 cdr)
|
|
(set-binding-type!287 set-car!)
|
|
(set-binding-value!288 set-cdr!)
|
|
(binding?289 (lambda (x2448)
|
|
(if (pair? x2448) (symbol? (car x2448)) '#f)))
|
|
(extend-env299 (lambda (label2447 binding2446 r2445)
|
|
(cons (cons label2447 binding2446) r2445)))
|
|
(extend-env*300 (lambda (labels2444 bindings2443 r2442)
|
|
(if (null? labels2444)
|
|
r2442
|
|
(extend-env*300
|
|
(cdr labels2444)
|
|
(cdr bindings2443)
|
|
(extend-env299
|
|
(car labels2444)
|
|
(car bindings2443)
|
|
r2442)))))
|
|
(extend-var-env*301 (lambda (labels2441 vars2440 r2439)
|
|
(if (null? labels2441)
|
|
r2439
|
|
(extend-var-env*301
|
|
(cdr labels2441)
|
|
(cdr vars2440)
|
|
(extend-env299
|
|
(car labels2441)
|
|
(cons 'lexical (car vars2440))
|
|
r2439)))))
|
|
(displaced-lexical?302 (lambda (id2436 r2435)
|
|
((lambda (n2437)
|
|
(if n2437
|
|
((lambda (b2438)
|
|
(eq? (binding-type285 b2438)
|
|
'displaced-lexical))
|
|
(lookup305 n2437 r2435))
|
|
'#f))
|
|
(id-var-name429 id2436 '(())))))
|
|
(displaced-lexical-error303 (lambda (id2434)
|
|
(syntax-error
|
|
id2434
|
|
(if (id-var-name429
|
|
id2434
|
|
'(()))
|
|
'"identifier out of context"
|
|
'"identifier not visible"))))
|
|
(lookup*304 (lambda (x2431 r2430)
|
|
((lambda (t2432)
|
|
(if t2432
|
|
(cdr t2432)
|
|
(if (symbol? x2431)
|
|
((lambda (t2433)
|
|
(if t2433
|
|
t2433
|
|
(cons 'global x2431)))
|
|
(get-global-definition-hook142
|
|
x2431))
|
|
'(displaced-lexical . #f))))
|
|
(assq x2431 r2430))))
|
|
(lookup305 (lambda (x2425 r2424)
|
|
(letrec ((whack-binding!2426 (lambda (b2429
|
|
*b2428)
|
|
(begin
|
|
(set-binding-type!287
|
|
b2429
|
|
(binding-type285
|
|
*b2428))
|
|
(set-binding-value!288
|
|
b2429
|
|
(binding-value286
|
|
*b2428))))))
|
|
((lambda (b2427)
|
|
(begin
|
|
(if (eq? (binding-type285 b2427) 'deferred)
|
|
(whack-binding!2426
|
|
b2427
|
|
(make-transformer-binding306
|
|
((binding-value286 b2427))))
|
|
(void))
|
|
b2427))
|
|
(lookup*304 x2425 r2424)))))
|
|
(make-transformer-binding306 (lambda (b2422)
|
|
((lambda (t2423)
|
|
(if t2423
|
|
t2423
|
|
(syntax-error
|
|
b2422
|
|
'"invalid transformer")))
|
|
(sanitize-binding275 b2422))))
|
|
(defer-or-eval-transformer307 (lambda (eval2421 x2420)
|
|
(if (built-lambda?221 x2420)
|
|
(cons
|
|
'deferred
|
|
(lambda ()
|
|
(eval2421 x2420)))
|
|
(make-transformer-binding306
|
|
(eval2421 x2420)))))
|
|
(global-extend308 (lambda (type2419 sym2418 val2417)
|
|
(put-cte-hook141
|
|
sym2418
|
|
(cons type2419 val2417))))
|
|
(nonsymbol-id?309 (lambda (x2415)
|
|
(if (syntax-object?64 x2415)
|
|
(symbol?
|
|
((lambda (e2416)
|
|
(if (annotation?132 e2416)
|
|
(annotation-expression e2416)
|
|
e2416))
|
|
(syntax-object-expression65
|
|
x2415)))
|
|
'#f)))
|
|
(id?310 (lambda (x2413)
|
|
(if (symbol? x2413)
|
|
'#t
|
|
(if (syntax-object?64 x2413)
|
|
(symbol?
|
|
((lambda (e2414)
|
|
(if (annotation?132 e2414)
|
|
(annotation-expression e2414)
|
|
e2414))
|
|
(syntax-object-expression65 x2413)))
|
|
(if (annotation?132 x2413)
|
|
(symbol? (annotation-expression x2413))
|
|
'#f)))))
|
|
(id-marks316 (lambda (id2412)
|
|
(if (syntax-object?64 id2412)
|
|
(wrap-marks320
|
|
(syntax-object-wrap66 id2412))
|
|
(wrap-marks320 '((top))))))
|
|
(id-subst317 (lambda (id2411)
|
|
(if (syntax-object?64 id2411)
|
|
(wrap-subst321
|
|
(syntax-object-wrap66 id2411))
|
|
(wrap-marks320 '((top))))))
|
|
(id-sym-name&marks318 (lambda (x2408 w2407)
|
|
(if (syntax-object?64 x2408)
|
|
(values
|
|
((lambda (e2409)
|
|
(if (annotation?132 e2409)
|
|
(annotation-expression
|
|
e2409)
|
|
e2409))
|
|
(syntax-object-expression65
|
|
x2408))
|
|
(join-marks418
|
|
(wrap-marks320 w2407)
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
x2408))))
|
|
(values
|
|
((lambda (e2410)
|
|
(if (annotation?132 e2410)
|
|
(annotation-expression
|
|
e2410)
|
|
e2410))
|
|
x2408)
|
|
(wrap-marks320 w2407)))))
|
|
(make-wrap319 cons)
|
|
(wrap-marks320 car)
|
|
(wrap-subst321 cdr)
|
|
(make-indirect-label350 (lambda (label2406)
|
|
(vector 'indirect-label label2406)))
|
|
(indirect-label?351 (lambda (x2405)
|
|
(if (vector? x2405)
|
|
(if (= (vector-length x2405) '2)
|
|
(eq? (vector-ref x2405 '0)
|
|
'indirect-label)
|
|
'#f)
|
|
'#f)))
|
|
(indirect-label-label352 (lambda (x2404)
|
|
(vector-ref x2404 '1)))
|
|
(set-indirect-label-label!353 (lambda (x2403 update2402)
|
|
(vector-set!
|
|
x2403
|
|
'1
|
|
update2402)))
|
|
(gen-indirect-label354 (lambda ()
|
|
(make-indirect-label350
|
|
(gen-label357))))
|
|
(get-indirect-label355 (lambda (x2401)
|
|
(indirect-label-label352 x2401)))
|
|
(set-indirect-label!356 (lambda (x2400 v2399)
|
|
(set-indirect-label-label!353
|
|
x2400
|
|
v2399)))
|
|
(gen-label357 (lambda () (string '#\i)))
|
|
(label?358 (lambda (x2396)
|
|
((lambda (t2397)
|
|
(if t2397
|
|
t2397
|
|
((lambda (t2398)
|
|
(if t2398
|
|
t2398
|
|
(indirect-label?351 x2396)))
|
|
(symbol? x2396))))
|
|
(string? x2396))))
|
|
(gen-labels359 (lambda (ls2395)
|
|
(if (null? ls2395)
|
|
'()
|
|
(cons
|
|
(gen-label357)
|
|
(gen-labels359 (cdr ls2395))))))
|
|
(make-ribcage360 (lambda (symnames2394 marks2393 labels2392)
|
|
(vector
|
|
'ribcage
|
|
symnames2394
|
|
marks2393
|
|
labels2392)))
|
|
(ribcage?361 (lambda (x2391)
|
|
(if (vector? x2391)
|
|
(if (= (vector-length x2391) '4)
|
|
(eq? (vector-ref x2391 '0) 'ribcage)
|
|
'#f)
|
|
'#f)))
|
|
(ribcage-symnames362 (lambda (x2390) (vector-ref x2390 '1)))
|
|
(ribcage-marks363 (lambda (x2389) (vector-ref x2389 '2)))
|
|
(ribcage-labels364 (lambda (x2388) (vector-ref x2388 '3)))
|
|
(set-ribcage-symnames!365 (lambda (x2387 update2386)
|
|
(vector-set! x2387 '1 update2386)))
|
|
(set-ribcage-marks!366 (lambda (x2385 update2384)
|
|
(vector-set! x2385 '2 update2384)))
|
|
(set-ribcage-labels!367 (lambda (x2383 update2382)
|
|
(vector-set! x2383 '3 update2382)))
|
|
(make-top-ribcage368 (lambda (key2381 mutable?2380)
|
|
(vector
|
|
'top-ribcage
|
|
key2381
|
|
mutable?2380)))
|
|
(top-ribcage?369 (lambda (x2379)
|
|
(if (vector? x2379)
|
|
(if (= (vector-length x2379) '3)
|
|
(eq? (vector-ref x2379 '0)
|
|
'top-ribcage)
|
|
'#f)
|
|
'#f)))
|
|
(top-ribcage-key370 (lambda (x2378) (vector-ref x2378 '1)))
|
|
(top-ribcage-mutable?371 (lambda (x2377)
|
|
(vector-ref x2377 '2)))
|
|
(set-top-ribcage-key!372 (lambda (x2376 update2375)
|
|
(vector-set! x2376 '1 update2375)))
|
|
(set-top-ribcage-mutable?!373 (lambda (x2374 update2373)
|
|
(vector-set!
|
|
x2374
|
|
'2
|
|
update2373)))
|
|
(make-import-interface374 (lambda (interface2372
|
|
new-marks2371)
|
|
(vector
|
|
'import-interface
|
|
interface2372
|
|
new-marks2371)))
|
|
(import-interface?375 (lambda (x2370)
|
|
(if (vector? x2370)
|
|
(if (= (vector-length x2370) '3)
|
|
(eq? (vector-ref x2370 '0)
|
|
'import-interface)
|
|
'#f)
|
|
'#f)))
|
|
(import-interface-interface376 (lambda (x2369)
|
|
(vector-ref x2369 '1)))
|
|
(import-interface-new-marks377 (lambda (x2368)
|
|
(vector-ref x2368 '2)))
|
|
(set-import-interface-interface!378 (lambda (x2367
|
|
update2366)
|
|
(vector-set!
|
|
x2367
|
|
'1
|
|
update2366)))
|
|
(set-import-interface-new-marks!379 (lambda (x2365
|
|
update2364)
|
|
(vector-set!
|
|
x2365
|
|
'2
|
|
update2364)))
|
|
(make-env380 (lambda (top-ribcage2363 wrap2362)
|
|
(vector 'env top-ribcage2363 wrap2362)))
|
|
(env?381 (lambda (x2361)
|
|
(if (vector? x2361)
|
|
(if (= (vector-length x2361) '3)
|
|
(eq? (vector-ref x2361 '0) 'env)
|
|
'#f)
|
|
'#f)))
|
|
(env-top-ribcage382 (lambda (x2360) (vector-ref x2360 '1)))
|
|
(env-wrap383 (lambda (x2359) (vector-ref x2359 '2)))
|
|
(set-env-top-ribcage!384 (lambda (x2358 update2357)
|
|
(vector-set! x2358 '1 update2357)))
|
|
(set-env-wrap!385 (lambda (x2356 update2355)
|
|
(vector-set! x2356 '2 update2355)))
|
|
(anti-mark395 (lambda (w2354)
|
|
(make-wrap319
|
|
(cons '#f (wrap-marks320 w2354))
|
|
(cons 'shift (wrap-subst321 w2354)))))
|
|
(barrier-marker400 '#f)
|
|
(extend-ribcage!405 (lambda (ribcage2352 id2351 label2350)
|
|
(begin
|
|
(set-ribcage-symnames!365
|
|
ribcage2352
|
|
(cons
|
|
((lambda (e2353)
|
|
(if (annotation?132 e2353)
|
|
(annotation-expression
|
|
e2353)
|
|
e2353))
|
|
(syntax-object-expression65
|
|
id2351))
|
|
(ribcage-symnames362 ribcage2352)))
|
|
(set-ribcage-marks!366
|
|
ribcage2352
|
|
(cons
|
|
(wrap-marks320
|
|
(syntax-object-wrap66 id2351))
|
|
(ribcage-marks363 ribcage2352)))
|
|
(set-ribcage-labels!367
|
|
ribcage2352
|
|
(cons
|
|
label2350
|
|
(ribcage-labels364
|
|
ribcage2352))))))
|
|
(import-extend-ribcage!406 (lambda (ribcage2348
|
|
new-marks2347 id2346
|
|
label2345)
|
|
(begin
|
|
(set-ribcage-symnames!365
|
|
ribcage2348
|
|
(cons
|
|
((lambda (e2349)
|
|
(if (annotation?132
|
|
e2349)
|
|
(annotation-expression
|
|
e2349)
|
|
e2349))
|
|
(syntax-object-expression65
|
|
id2346))
|
|
(ribcage-symnames362
|
|
ribcage2348)))
|
|
(set-ribcage-marks!366
|
|
ribcage2348
|
|
(cons
|
|
(join-marks418
|
|
new-marks2347
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
id2346)))
|
|
(ribcage-marks363
|
|
ribcage2348)))
|
|
(set-ribcage-labels!367
|
|
ribcage2348
|
|
(cons
|
|
label2345
|
|
(ribcage-labels364
|
|
ribcage2348))))))
|
|
(extend-ribcage-barrier!407 (lambda (ribcage2344
|
|
killer-id2343)
|
|
(extend-ribcage-barrier-help!408
|
|
ribcage2344
|
|
(syntax-object-wrap66
|
|
killer-id2343))))
|
|
(extend-ribcage-barrier-help!408 (lambda (ribcage2342
|
|
wrap2341)
|
|
(begin
|
|
(set-ribcage-symnames!365
|
|
ribcage2342
|
|
(cons
|
|
barrier-marker400
|
|
(ribcage-symnames362
|
|
ribcage2342)))
|
|
(set-ribcage-marks!366
|
|
ribcage2342
|
|
(cons
|
|
(wrap-marks320
|
|
wrap2341)
|
|
(ribcage-marks363
|
|
ribcage2342))))))
|
|
(extend-ribcage-subst!409 (lambda (ribcage2340
|
|
import-iface2339)
|
|
(set-ribcage-symnames!365
|
|
ribcage2340
|
|
(cons
|
|
import-iface2339
|
|
(ribcage-symnames362
|
|
ribcage2340)))))
|
|
(lookup-import-binding-name410 (lambda (sym2334 marks2333
|
|
token2332
|
|
new-marks2331)
|
|
((lambda (new2335)
|
|
(if new2335
|
|
((letrec ((f2336 (lambda (new2337)
|
|
(if (pair?
|
|
new2337)
|
|
((lambda (t2338)
|
|
(if t2338
|
|
t2338
|
|
(f2336
|
|
(cdr new2337))))
|
|
(f2336
|
|
(car new2337)))
|
|
(if (symbol?
|
|
new2337)
|
|
(if (same-marks?420
|
|
marks2333
|
|
(join-marks418
|
|
new-marks2331
|
|
(wrap-marks320
|
|
'((top)))))
|
|
new2337
|
|
'#f)
|
|
(if (same-marks?420
|
|
marks2333
|
|
(join-marks418
|
|
new-marks2331
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
new2337))))
|
|
new2337
|
|
'#f))))))
|
|
f2336)
|
|
new2335)
|
|
'#f))
|
|
(get-import-binding145
|
|
sym2334
|
|
token2332))))
|
|
(store-import-binding411 (lambda (id2316 token2315
|
|
new-marks2314)
|
|
(letrec ((cons-id2317 (lambda (id2330
|
|
x2329)
|
|
(if (not x2329)
|
|
id2330
|
|
(cons
|
|
id2330
|
|
x2329))))
|
|
(weed2318 (lambda (marks2328
|
|
x2327)
|
|
(if (pair?
|
|
x2327)
|
|
(if (same-marks?420
|
|
(id-marks316
|
|
(car x2327))
|
|
marks2328)
|
|
(weed2318
|
|
marks2328
|
|
(cdr x2327))
|
|
(cons-id2317
|
|
(car x2327)
|
|
(weed2318
|
|
marks2328
|
|
(cdr x2327))))
|
|
(if x2327
|
|
(if (not (same-marks?420
|
|
(id-marks316
|
|
x2327)
|
|
marks2328))
|
|
x2327
|
|
'#f)
|
|
'#f)))))
|
|
((lambda (id2319)
|
|
((lambda (sym2320)
|
|
(if (not (eq? id2319
|
|
sym2320))
|
|
((lambda (marks2321)
|
|
((lambda (x2322)
|
|
(put-import-binding146
|
|
sym2320
|
|
token2315
|
|
(cons-id2317
|
|
(if (same-marks?420
|
|
marks2321
|
|
(wrap-marks320
|
|
'((top))))
|
|
(resolved-id-var-name415
|
|
id2319)
|
|
id2319)
|
|
x2322)))
|
|
(weed2318
|
|
marks2321
|
|
(get-import-binding145
|
|
sym2320
|
|
token2315))))
|
|
(id-marks316 id2319))
|
|
(void)))
|
|
((lambda (x2323)
|
|
((lambda (e2324)
|
|
(if (annotation?132
|
|
e2324)
|
|
(annotation-expression
|
|
e2324)
|
|
e2324))
|
|
(if (syntax-object?64
|
|
x2323)
|
|
(syntax-object-expression65
|
|
x2323)
|
|
x2323)))
|
|
id2319)))
|
|
(if (null? new-marks2314)
|
|
id2316
|
|
(make-syntax-object63
|
|
((lambda (x2325)
|
|
((lambda (e2326)
|
|
(if (annotation?132
|
|
e2326)
|
|
(annotation-expression
|
|
e2326)
|
|
e2326))
|
|
(if (syntax-object?64
|
|
x2325)
|
|
(syntax-object-expression65
|
|
x2325)
|
|
x2325)))
|
|
id2316)
|
|
(make-wrap319
|
|
(join-marks418
|
|
new-marks2314
|
|
(id-marks316 id2316))
|
|
(id-subst317
|
|
id2316))))))))
|
|
(make-binding-wrap412 (lambda (ids2304 labels2303 w2302)
|
|
(if (null? ids2304)
|
|
w2302
|
|
(make-wrap319
|
|
(wrap-marks320 w2302)
|
|
(cons
|
|
((lambda (labelvec2305)
|
|
((lambda (n2306)
|
|
((lambda (symnamevec2308
|
|
marksvec2307)
|
|
(begin
|
|
((letrec ((f2309 (lambda (ids2311
|
|
i2310)
|
|
(if (not (null?
|
|
ids2311))
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-sym-name&marks318
|
|
(car ids2311)
|
|
w2302))
|
|
(lambda (symname2313
|
|
marks2312)
|
|
(begin
|
|
(vector-set!
|
|
symnamevec2308
|
|
i2310
|
|
symname2313)
|
|
(vector-set!
|
|
marksvec2307
|
|
i2310
|
|
marks2312)
|
|
(f2309
|
|
(cdr ids2311)
|
|
(+ i2310
|
|
'1)))))
|
|
(void)))))
|
|
f2309)
|
|
ids2304
|
|
'0)
|
|
(make-ribcage360
|
|
symnamevec2308
|
|
marksvec2307
|
|
labelvec2305)))
|
|
(make-vector n2306)
|
|
(make-vector n2306)))
|
|
(vector-length
|
|
labelvec2305)))
|
|
(list->vector labels2303))
|
|
(wrap-subst321 w2302))))))
|
|
(make-resolved-id413 (lambda (fromsym2301 marks2300
|
|
tosym2299)
|
|
(make-syntax-object63
|
|
fromsym2301
|
|
(make-wrap319
|
|
marks2300
|
|
(list
|
|
(make-ribcage360
|
|
(vector fromsym2301)
|
|
(vector marks2300)
|
|
(vector tosym2299)))))))
|
|
(id->resolved-id414 (lambda (id2294)
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-var-name&marks427 id2294 '(())))
|
|
(lambda (tosym2296 marks2295)
|
|
(begin
|
|
(if (not tosym2296)
|
|
(syntax-error
|
|
id2294
|
|
'"identifier not visible for export")
|
|
(void))
|
|
(make-resolved-id413
|
|
((lambda (x2297)
|
|
((lambda (e2298)
|
|
(if (annotation?132 e2298)
|
|
(annotation-expression
|
|
e2298)
|
|
e2298))
|
|
(if (syntax-object?64 x2297)
|
|
(syntax-object-expression65
|
|
x2297)
|
|
x2297)))
|
|
id2294)
|
|
marks2295
|
|
tosym2296))))))
|
|
(resolved-id-var-name415 (lambda (id2293)
|
|
(vector-ref
|
|
(ribcage-labels364
|
|
(car (wrap-subst321
|
|
(syntax-object-wrap66
|
|
id2293))))
|
|
'0)))
|
|
(smart-append416 (lambda (m12292 m22291)
|
|
(if (null? m22291)
|
|
m12292
|
|
(append m12292 m22291))))
|
|
(join-wraps417 (lambda (w12288 w22287)
|
|
((lambda (m12290 s12289)
|
|
(if (null? m12290)
|
|
(if (null? s12289)
|
|
w22287
|
|
(make-wrap319
|
|
(wrap-marks320 w22287)
|
|
(join-subst419
|
|
s12289
|
|
(wrap-subst321 w22287))))
|
|
(make-wrap319
|
|
(join-marks418
|
|
m12290
|
|
(wrap-marks320 w22287))
|
|
(join-subst419
|
|
s12289
|
|
(wrap-subst321 w22287)))))
|
|
(wrap-marks320 w12288)
|
|
(wrap-subst321 w12288))))
|
|
(join-marks418 (lambda (m12286 m22285)
|
|
(smart-append416 m12286 m22285)))
|
|
(join-subst419 (lambda (s12284 s22283)
|
|
(smart-append416 s12284 s22283)))
|
|
(same-marks?420 (lambda (x2281 y2280)
|
|
((lambda (t2282)
|
|
(if t2282
|
|
t2282
|
|
(if (not (null? x2281))
|
|
(if (not (null? y2280))
|
|
(if (eq? (car x2281)
|
|
(car y2280))
|
|
(same-marks?420
|
|
(cdr x2281)
|
|
(cdr y2280))
|
|
'#f)
|
|
'#f)
|
|
'#f)))
|
|
(eq? x2281 y2280))))
|
|
(diff-marks421 (lambda (m12274 m22273)
|
|
((lambda (n12276 n22275)
|
|
((letrec ((f2277 (lambda (n12279 m12278)
|
|
(if (> n12279 n22275)
|
|
(cons
|
|
(car m12278)
|
|
(f2277
|
|
(fx- n12279 '1)
|
|
(cdr m12278)))
|
|
(if (equal?
|
|
m12278
|
|
m22273)
|
|
'()
|
|
(error 'sc-expand
|
|
'"internal error in diff-marks: ~s is not a tail of ~s"
|
|
m12278
|
|
m22273))))))
|
|
f2277)
|
|
n12276
|
|
m12274))
|
|
(length m12274)
|
|
(length m22273))))
|
|
(leave-implicit?422 (lambda (token2272)
|
|
(eq? token2272 '*top*)))
|
|
(new-binding423 (lambda (sym2269 marks2268 token2267)
|
|
((lambda (loc2270)
|
|
((lambda (id2271)
|
|
(begin
|
|
(store-import-binding411
|
|
id2271
|
|
token2267
|
|
'())
|
|
(values loc2270 id2271)))
|
|
(make-resolved-id413
|
|
sym2269
|
|
marks2268
|
|
loc2270)))
|
|
(if (if (leave-implicit?422 token2267)
|
|
(same-marks?420
|
|
marks2268
|
|
(wrap-marks320 '((top))))
|
|
'#f)
|
|
sym2269
|
|
(generate-id147 sym2269)))))
|
|
(top-id-bound-var-name424 (lambda (sym2263 marks2262
|
|
top-ribcage2261)
|
|
((lambda (token2264)
|
|
((lambda (t2265)
|
|
(if t2265
|
|
((lambda (id2266)
|
|
(if (symbol? id2266)
|
|
(if (read-only-binding?144
|
|
id2266)
|
|
(new-binding423
|
|
sym2263
|
|
marks2262
|
|
token2264)
|
|
(values
|
|
id2266
|
|
(make-resolved-id413
|
|
sym2263
|
|
marks2262
|
|
id2266)))
|
|
(values
|
|
(resolved-id-var-name415
|
|
id2266)
|
|
id2266)))
|
|
t2265)
|
|
(new-binding423
|
|
sym2263
|
|
marks2262
|
|
token2264)))
|
|
(lookup-import-binding-name410
|
|
sym2263
|
|
marks2262
|
|
token2264
|
|
'())))
|
|
(top-ribcage-key370
|
|
top-ribcage2261))))
|
|
(top-id-free-var-name425 (lambda (sym2255 marks2254
|
|
top-ribcage2253)
|
|
((lambda (token2256)
|
|
((lambda (t2257)
|
|
(if t2257
|
|
((lambda (id2258)
|
|
(if (symbol? id2258)
|
|
id2258
|
|
(resolved-id-var-name415
|
|
id2258)))
|
|
t2257)
|
|
(if (if (top-ribcage-mutable?371
|
|
top-ribcage2253)
|
|
(same-marks?420
|
|
marks2254
|
|
(wrap-marks320
|
|
'((top))))
|
|
'#f)
|
|
(call-with-values
|
|
(lambda ()
|
|
(new-binding423
|
|
sym2255
|
|
(wrap-marks320
|
|
'((top)))
|
|
token2256))
|
|
(lambda (sym2260
|
|
id2259)
|
|
sym2260))
|
|
'#f)))
|
|
(lookup-import-binding-name410
|
|
sym2255
|
|
marks2254
|
|
token2256
|
|
'())))
|
|
(top-ribcage-key370
|
|
top-ribcage2253))))
|
|
(id-var-name-loc&marks426 (lambda (id2204 w2203)
|
|
(letrec ((search2205 (lambda (sym2248
|
|
subst2247
|
|
marks2246)
|
|
(if (null?
|
|
subst2247)
|
|
(values
|
|
'#f
|
|
marks2246)
|
|
((lambda (fst2249)
|
|
(if (eq? fst2249
|
|
'shift)
|
|
(search2205
|
|
sym2248
|
|
(cdr subst2247)
|
|
(cdr marks2246))
|
|
(if (ribcage?361
|
|
fst2249)
|
|
((lambda (symnames2250)
|
|
(if (vector?
|
|
symnames2250)
|
|
(search-vector-rib2207
|
|
sym2248
|
|
subst2247
|
|
marks2246
|
|
symnames2250
|
|
fst2249)
|
|
(search-list-rib2206
|
|
sym2248
|
|
subst2247
|
|
marks2246
|
|
symnames2250
|
|
fst2249)))
|
|
(ribcage-symnames362
|
|
fst2249))
|
|
(if (top-ribcage?369
|
|
fst2249)
|
|
((lambda (t2251)
|
|
(if t2251
|
|
((lambda (var-name2252)
|
|
(values
|
|
var-name2252
|
|
marks2246))
|
|
t2251)
|
|
(search2205
|
|
sym2248
|
|
(cdr subst2247)
|
|
marks2246)))
|
|
(top-id-free-var-name425
|
|
sym2248
|
|
marks2246
|
|
fst2249))
|
|
(error 'sc-expand
|
|
'"internal error in id-var-name-loc&marks: improper subst ~s"
|
|
subst2247)))))
|
|
(car subst2247)))))
|
|
(search-list-rib2206 (lambda (sym2226
|
|
subst2225
|
|
marks2224
|
|
symnames2223
|
|
ribcage2222)
|
|
((letrec ((f2227 (lambda (symnames2229
|
|
i2228)
|
|
(if (null?
|
|
symnames2229)
|
|
(search2205
|
|
sym2226
|
|
(cdr subst2225)
|
|
marks2224)
|
|
((lambda (x2230)
|
|
(if (if (eq? x2230
|
|
sym2226)
|
|
(same-marks?420
|
|
marks2224
|
|
(list-ref
|
|
(ribcage-marks363
|
|
ribcage2222)
|
|
i2228))
|
|
'#f)
|
|
(values
|
|
(list-ref
|
|
(ribcage-labels364
|
|
ribcage2222)
|
|
i2228)
|
|
marks2224)
|
|
(if (import-interface?375
|
|
x2230)
|
|
((lambda (iface2232
|
|
new-marks2231)
|
|
((lambda (t2233)
|
|
(if t2233
|
|
((lambda (token2234)
|
|
((lambda (t2235)
|
|
(if t2235
|
|
((lambda (id2236)
|
|
(values
|
|
(if (symbol?
|
|
id2236)
|
|
id2236
|
|
(resolved-id-var-name415
|
|
id2236))
|
|
marks2224))
|
|
t2235)
|
|
(f2227
|
|
(cdr symnames2229)
|
|
i2228)))
|
|
(lookup-import-binding-name410
|
|
sym2226
|
|
marks2224
|
|
token2234
|
|
new-marks2231)))
|
|
t2233)
|
|
((lambda (ie2237)
|
|
((lambda (n2238)
|
|
((lambda ()
|
|
((letrec ((g2239 (lambda (j2240)
|
|
(if (= j2240
|
|
n2238)
|
|
(f2227
|
|
(cdr symnames2229)
|
|
i2228)
|
|
((lambda (id2241)
|
|
((lambda (id.sym2243
|
|
id.marks2242)
|
|
(if (help-bound-id=?432
|
|
id.sym2243
|
|
id.marks2242
|
|
sym2226
|
|
marks2224)
|
|
(values
|
|
(lookup-import-label501
|
|
id2241)
|
|
marks2224)
|
|
(g2239
|
|
(+ j2240
|
|
'1))))
|
|
((lambda (x2244)
|
|
((lambda (e2245)
|
|
(if (annotation?132
|
|
e2245)
|
|
(annotation-expression
|
|
e2245)
|
|
e2245))
|
|
(if (syntax-object?64
|
|
x2244)
|
|
(syntax-object-expression65
|
|
x2244)
|
|
x2244)))
|
|
id2241)
|
|
(join-marks418
|
|
new-marks2231
|
|
(id-marks316
|
|
id2241))))
|
|
(vector-ref
|
|
ie2237
|
|
j2240))))))
|
|
g2239)
|
|
'0))))
|
|
(vector-length
|
|
ie2237)))
|
|
(interface-exports449
|
|
iface2232))))
|
|
(interface-token450
|
|
iface2232)))
|
|
(import-interface-interface376
|
|
x2230)
|
|
(import-interface-new-marks377
|
|
x2230))
|
|
(if (if (eq? x2230
|
|
barrier-marker400)
|
|
(same-marks?420
|
|
marks2224
|
|
(list-ref
|
|
(ribcage-marks363
|
|
ribcage2222)
|
|
i2228))
|
|
'#f)
|
|
(values
|
|
'#f
|
|
marks2224)
|
|
(f2227
|
|
(cdr symnames2229)
|
|
(+ i2228
|
|
'1))))))
|
|
(car symnames2229))))))
|
|
f2227)
|
|
symnames2223
|
|
'0)))
|
|
(search-vector-rib2207 (lambda (sym2218
|
|
subst2217
|
|
marks2216
|
|
symnames2215
|
|
ribcage2214)
|
|
((lambda (n2219)
|
|
((letrec ((f2220 (lambda (i2221)
|
|
(if (= i2221
|
|
n2219)
|
|
(search2205
|
|
sym2218
|
|
(cdr subst2217)
|
|
marks2216)
|
|
(if (if (eq? (vector-ref
|
|
symnames2215
|
|
i2221)
|
|
sym2218)
|
|
(same-marks?420
|
|
marks2216
|
|
(vector-ref
|
|
(ribcage-marks363
|
|
ribcage2214)
|
|
i2221))
|
|
'#f)
|
|
(values
|
|
(vector-ref
|
|
(ribcage-labels364
|
|
ribcage2214)
|
|
i2221)
|
|
marks2216)
|
|
(f2220
|
|
(+ i2221
|
|
'1)))))))
|
|
f2220)
|
|
'0))
|
|
(vector-length
|
|
symnames2215)))))
|
|
(if (symbol? id2204)
|
|
(search2205
|
|
id2204
|
|
(wrap-subst321 w2203)
|
|
(wrap-marks320 w2203))
|
|
(if (syntax-object?64 id2204)
|
|
((lambda (sym2209 w12208)
|
|
(call-with-values
|
|
(lambda ()
|
|
(search2205
|
|
sym2209
|
|
(wrap-subst321
|
|
w2203)
|
|
(join-marks418
|
|
(wrap-marks320
|
|
w2203)
|
|
(wrap-marks320
|
|
w12208))))
|
|
(lambda (name2211
|
|
marks2210)
|
|
(if name2211
|
|
(values
|
|
name2211
|
|
marks2210)
|
|
(search2205
|
|
sym2209
|
|
(wrap-subst321
|
|
w12208)
|
|
marks2210)))))
|
|
((lambda (e2212)
|
|
(if (annotation?132
|
|
e2212)
|
|
(annotation-expression
|
|
e2212)
|
|
e2212))
|
|
(syntax-object-expression65
|
|
id2204))
|
|
(syntax-object-wrap66
|
|
id2204))
|
|
(if (annotation?132
|
|
id2204)
|
|
(search2205
|
|
((lambda (e2213)
|
|
(if (annotation?132
|
|
e2213)
|
|
(annotation-expression
|
|
e2213)
|
|
e2213))
|
|
id2204)
|
|
(wrap-subst321
|
|
w2203)
|
|
(wrap-marks320
|
|
w2203))
|
|
(error-hook136
|
|
'id-var-name
|
|
'"invalid id"
|
|
id2204)))))))
|
|
(id-var-name&marks427 (lambda (id2200 w2199)
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-var-name-loc&marks426
|
|
id2200
|
|
w2199))
|
|
(lambda (label2202 marks2201)
|
|
(values
|
|
(if (indirect-label?351
|
|
label2202)
|
|
(get-indirect-label355
|
|
label2202)
|
|
label2202)
|
|
marks2201)))))
|
|
(id-var-name-loc428 (lambda (id2196 w2195)
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-var-name-loc&marks426
|
|
id2196
|
|
w2195))
|
|
(lambda (label2198 marks2197)
|
|
label2198))))
|
|
(id-var-name429 (lambda (id2192 w2191)
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-var-name-loc&marks426 id2192 w2191))
|
|
(lambda (label2194 marks2193)
|
|
(if (indirect-label?351 label2194)
|
|
(get-indirect-label355 label2194)
|
|
label2194)))))
|
|
(free-id=?430 (lambda (i2186 j2185)
|
|
(if (eq? ((lambda (x2189)
|
|
((lambda (e2190)
|
|
(if (annotation?132 e2190)
|
|
(annotation-expression
|
|
e2190)
|
|
e2190))
|
|
(if (syntax-object?64 x2189)
|
|
(syntax-object-expression65
|
|
x2189)
|
|
x2189)))
|
|
i2186)
|
|
((lambda (x2187)
|
|
((lambda (e2188)
|
|
(if (annotation?132 e2188)
|
|
(annotation-expression
|
|
e2188)
|
|
e2188))
|
|
(if (syntax-object?64 x2187)
|
|
(syntax-object-expression65
|
|
x2187)
|
|
x2187)))
|
|
j2185))
|
|
(eq? (id-var-name429 i2186 '(()))
|
|
(id-var-name429 j2185 '(())))
|
|
'#f)))
|
|
(literal-id=?431 (lambda (id2175 literal2174)
|
|
(if (eq? ((lambda (x2178)
|
|
((lambda (e2179)
|
|
(if (annotation?132 e2179)
|
|
(annotation-expression
|
|
e2179)
|
|
e2179))
|
|
(if (syntax-object?64 x2178)
|
|
(syntax-object-expression65
|
|
x2178)
|
|
x2178)))
|
|
id2175)
|
|
((lambda (x2176)
|
|
((lambda (e2177)
|
|
(if (annotation?132 e2177)
|
|
(annotation-expression
|
|
e2177)
|
|
e2177))
|
|
(if (syntax-object?64 x2176)
|
|
(syntax-object-expression65
|
|
x2176)
|
|
x2176)))
|
|
literal2174))
|
|
((lambda (n-id2181 n-literal2180)
|
|
((lambda (t2182)
|
|
(if t2182
|
|
t2182
|
|
(if ((lambda (t2183)
|
|
(if t2183
|
|
t2183
|
|
(symbol?
|
|
n-id2181)))
|
|
(not n-id2181))
|
|
((lambda (t2184)
|
|
(if t2184
|
|
t2184
|
|
(symbol?
|
|
n-literal2180)))
|
|
(not n-literal2180))
|
|
'#f)))
|
|
(eq? n-id2181 n-literal2180)))
|
|
(id-var-name429 id2175 '(()))
|
|
(id-var-name429 literal2174 '(())))
|
|
'#f)))
|
|
(help-bound-id=?432 (lambda (i.sym2173 i.marks2172 j.sym2171
|
|
j.marks2170)
|
|
(if (eq? i.sym2173 j.sym2171)
|
|
(same-marks?420
|
|
i.marks2172
|
|
j.marks2170)
|
|
'#f)))
|
|
(bound-id=?433 (lambda (i2165 j2164)
|
|
(help-bound-id=?432
|
|
((lambda (x2168)
|
|
((lambda (e2169)
|
|
(if (annotation?132 e2169)
|
|
(annotation-expression e2169)
|
|
e2169))
|
|
(if (syntax-object?64 x2168)
|
|
(syntax-object-expression65 x2168)
|
|
x2168)))
|
|
i2165)
|
|
(id-marks316 i2165)
|
|
((lambda (x2166)
|
|
((lambda (e2167)
|
|
(if (annotation?132 e2167)
|
|
(annotation-expression e2167)
|
|
e2167))
|
|
(if (syntax-object?64 x2166)
|
|
(syntax-object-expression65 x2166)
|
|
x2166)))
|
|
j2164)
|
|
(id-marks316 j2164))))
|
|
(valid-bound-ids?434 (lambda (ids2160)
|
|
(if ((letrec ((all-ids?2161 (lambda (ids2162)
|
|
((lambda (t2163)
|
|
(if t2163
|
|
t2163
|
|
(if (id?310
|
|
(car ids2162))
|
|
(all-ids?2161
|
|
(cdr ids2162))
|
|
'#f)))
|
|
(null?
|
|
ids2162)))))
|
|
all-ids?2161)
|
|
ids2160)
|
|
(distinct-bound-ids?435 ids2160)
|
|
'#f)))
|
|
(distinct-bound-ids?435 (lambda (ids2156)
|
|
((letrec ((distinct?2157 (lambda (ids2158)
|
|
((lambda (t2159)
|
|
(if t2159
|
|
t2159
|
|
(if (not (bound-id-member?437
|
|
(car ids2158)
|
|
(cdr ids2158)))
|
|
(distinct?2157
|
|
(cdr ids2158))
|
|
'#f)))
|
|
(null?
|
|
ids2158)))))
|
|
distinct?2157)
|
|
ids2156)))
|
|
(invalid-ids-error436 (lambda (ids2152 exp2151 class2150)
|
|
((letrec ((find2153 (lambda (ids2155
|
|
gooduns2154)
|
|
(if (null?
|
|
ids2155)
|
|
(syntax-error
|
|
exp2151)
|
|
(if (id?310
|
|
(car ids2155))
|
|
(if (bound-id-member?437
|
|
(car ids2155)
|
|
gooduns2154)
|
|
(syntax-error
|
|
(car ids2155)
|
|
'"duplicate "
|
|
class2150)
|
|
(find2153
|
|
(cdr ids2155)
|
|
(cons
|
|
(car ids2155)
|
|
gooduns2154)))
|
|
(syntax-error
|
|
(car ids2155)
|
|
'"invalid "
|
|
class2150))))))
|
|
find2153)
|
|
ids2152
|
|
'())))
|
|
(bound-id-member?437 (lambda (x2148 list2147)
|
|
(if (not (null? list2147))
|
|
((lambda (t2149)
|
|
(if t2149
|
|
t2149
|
|
(bound-id-member?437
|
|
x2148
|
|
(cdr list2147))))
|
|
(bound-id=?433
|
|
x2148
|
|
(car list2147)))
|
|
'#f)))
|
|
(wrap438 (lambda (x2146 w2145)
|
|
(if (if (null? (wrap-marks320 w2145))
|
|
(null? (wrap-subst321 w2145))
|
|
'#f)
|
|
x2146
|
|
(if (syntax-object?64 x2146)
|
|
(make-syntax-object63
|
|
(syntax-object-expression65 x2146)
|
|
(join-wraps417
|
|
w2145
|
|
(syntax-object-wrap66 x2146)))
|
|
(if (null? x2146)
|
|
x2146
|
|
(make-syntax-object63 x2146 w2145))))))
|
|
(source-wrap439 (lambda (x2144 w2143 ae2142)
|
|
(wrap438
|
|
(if (annotation?132 ae2142)
|
|
(begin
|
|
(if (not (eq? (annotation-expression
|
|
ae2142)
|
|
x2144))
|
|
(error 'sc-expand
|
|
'"internal error in source-wrap: ae/x mismatch")
|
|
(void))
|
|
ae2142)
|
|
x2144)
|
|
w2143)))
|
|
(chi-when-list440 (lambda (when-list2140 w2139)
|
|
(map (lambda (x2141)
|
|
(if (literal-id=?431
|
|
x2141
|
|
'#(syntax-object compile ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-begin parse-alias parse-eval-when parse-meta parse-define-syntax parse-define parse-import parse-module do-import! lookup-import-label import-mark-delta chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi chi-sequence chi-meta-frob chi-frobs ct-eval/residualize3 ct-eval/residualize2 rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports id-set-diff chi-top-module set-frob-meta?! set-frob-e! frob-meta? frob-e frob? make-frob create-module-binding set-module-binding-exported! set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-exported module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-unresolved-interface set-interface-token! set-interface-exports! set-interface-marks! interface-token interface-exports interface-marks interface? make-interface flatten-exports chi-top chi-top-sequence chi-top* syntax-type chi-when-list source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? help-bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks top-id-free-var-name top-id-bound-var-name anon diff-marks same-marks? join-subst join-marks join-wraps smart-append resolved-id-var-name id->resolved-id make-resolved-id make-binding-wrap store-import-binding lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! import-extend-ribcage! extend-ribcage! make-empty-ribcage barrier-marker new-mark anti-mark the-anti-mark set-env-wrap! set-env-top-ribcage! env-wrap env-top-ribcage env? make-env set-import-interface-new-marks! set-import-interface-interface! import-interface-new-marks import-interface-interface import-interface? make-import-interface set-top-ribcage-mutable?! set-top-ribcage-key! top-ribcage-mutable? top-ribcage-key top-ribcage? make-top-ribcage set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels label? gen-label set-indirect-label! get-indirect-label indirect-label? gen-indirect-label anon only-top-marked? top-marked? top-wrap empty-wrap wrap-subst wrap-marks make-wrap id-sym-name&marks id-subst id-marks id-sym-name id? nonsymbol-id? global-extend defer-or-eval-transformer make-transformer-binding lookup lookup* displaced-lexical-error displaced-lexical? extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding sanitize-binding arg-check no-source unannotate self-evaluating? lexical-var? build-lexical-var build-top-module build-body build-letrec build-sequence build-data build-primref built-lambda? build-lambda build-revisit-only build-visit-only build-cte-install build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id put-import-binding get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-hook gensym-hook error-hook define-top-level-value-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object noexpand let-values define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(top-ribcage *top* #t))))
|
|
'compile
|
|
(if (literal-id=?431
|
|
x2141
|
|
'#(syntax-object load ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-begin parse-alias parse-eval-when parse-meta parse-define-syntax parse-define parse-import parse-module do-import! lookup-import-label import-mark-delta chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi chi-sequence chi-meta-frob chi-frobs ct-eval/residualize3 ct-eval/residualize2 rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports id-set-diff chi-top-module set-frob-meta?! set-frob-e! frob-meta? frob-e frob? make-frob create-module-binding set-module-binding-exported! set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-exported module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-unresolved-interface set-interface-token! set-interface-exports! set-interface-marks! interface-token interface-exports interface-marks interface? make-interface flatten-exports chi-top chi-top-sequence chi-top* syntax-type chi-when-list source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? help-bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks top-id-free-var-name top-id-bound-var-name anon diff-marks same-marks? join-subst join-marks join-wraps smart-append resolved-id-var-name id->resolved-id make-resolved-id make-binding-wrap store-import-binding lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! import-extend-ribcage! extend-ribcage! make-empty-ribcage barrier-marker new-mark anti-mark the-anti-mark set-env-wrap! set-env-top-ribcage! env-wrap env-top-ribcage env? make-env set-import-interface-new-marks! set-import-interface-interface! import-interface-new-marks import-interface-interface import-interface? make-import-interface set-top-ribcage-mutable?! set-top-ribcage-key! top-ribcage-mutable? top-ribcage-key top-ribcage? make-top-ribcage set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels label? gen-label set-indirect-label! get-indirect-label indirect-label? gen-indirect-label anon only-top-marked? top-marked? top-wrap empty-wrap wrap-subst wrap-marks make-wrap id-sym-name&marks id-subst id-marks id-sym-name id? nonsymbol-id? global-extend defer-or-eval-transformer make-transformer-binding lookup lookup* displaced-lexical-error displaced-lexical? extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding sanitize-binding arg-check no-source unannotate self-evaluating? lexical-var? build-lexical-var build-top-module build-body build-letrec build-sequence build-data build-primref built-lambda? build-lambda build-revisit-only build-visit-only build-cte-install build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id put-import-binding get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-hook gensym-hook error-hook define-top-level-value-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object noexpand let-values define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(top-ribcage *top* #t))))
|
|
'load
|
|
(if (literal-id=?431
|
|
x2141
|
|
'#(syntax-object visit ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-begin parse-alias parse-eval-when parse-meta parse-define-syntax parse-define parse-import parse-module do-import! lookup-import-label import-mark-delta chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi chi-sequence chi-meta-frob chi-frobs ct-eval/residualize3 ct-eval/residualize2 rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports id-set-diff chi-top-module set-frob-meta?! set-frob-e! frob-meta? frob-e frob? make-frob create-module-binding set-module-binding-exported! set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-exported module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-unresolved-interface set-interface-token! set-interface-exports! set-interface-marks! interface-token interface-exports interface-marks interface? make-interface flatten-exports chi-top chi-top-sequence chi-top* syntax-type chi-when-list source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? help-bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks top-id-free-var-name top-id-bound-var-name anon diff-marks same-marks? join-subst join-marks join-wraps smart-append resolved-id-var-name id->resolved-id make-resolved-id make-binding-wrap store-import-binding lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! import-extend-ribcage! extend-ribcage! make-empty-ribcage barrier-marker new-mark anti-mark the-anti-mark set-env-wrap! set-env-top-ribcage! env-wrap env-top-ribcage env? make-env set-import-interface-new-marks! set-import-interface-interface! import-interface-new-marks import-interface-interface import-interface? make-import-interface set-top-ribcage-mutable?! set-top-ribcage-key! top-ribcage-mutable? top-ribcage-key top-ribcage? make-top-ribcage set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels label? gen-label set-indirect-label! get-indirect-label indirect-label? gen-indirect-label anon only-top-marked? top-marked? top-wrap empty-wrap wrap-subst wrap-marks make-wrap id-sym-name&marks id-subst id-marks id-sym-name id? nonsymbol-id? global-extend defer-or-eval-transformer make-transformer-binding lookup lookup* displaced-lexical-error displaced-lexical? extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding sanitize-binding arg-check no-source unannotate self-evaluating? lexical-var? build-lexical-var build-top-module build-body build-letrec build-sequence build-data build-primref built-lambda? build-lambda build-revisit-only build-visit-only build-cte-install build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id put-import-binding get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-hook gensym-hook error-hook define-top-level-value-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object noexpand let-values define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(top-ribcage *top* #t))))
|
|
'visit
|
|
(if (literal-id=?431
|
|
x2141
|
|
'#(syntax-object revisit ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-begin parse-alias parse-eval-when parse-meta parse-define-syntax parse-define parse-import parse-module do-import! lookup-import-label import-mark-delta chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi chi-sequence chi-meta-frob chi-frobs ct-eval/residualize3 ct-eval/residualize2 rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports id-set-diff chi-top-module set-frob-meta?! set-frob-e! frob-meta? frob-e frob? make-frob create-module-binding set-module-binding-exported! set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-exported module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-unresolved-interface set-interface-token! set-interface-exports! set-interface-marks! interface-token interface-exports interface-marks interface? make-interface flatten-exports chi-top chi-top-sequence chi-top* syntax-type chi-when-list source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? help-bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks top-id-free-var-name top-id-bound-var-name anon diff-marks same-marks? join-subst join-marks join-wraps smart-append resolved-id-var-name id->resolved-id make-resolved-id make-binding-wrap store-import-binding lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! import-extend-ribcage! extend-ribcage! make-empty-ribcage barrier-marker new-mark anti-mark the-anti-mark set-env-wrap! set-env-top-ribcage! env-wrap env-top-ribcage env? make-env set-import-interface-new-marks! set-import-interface-interface! import-interface-new-marks import-interface-interface import-interface? make-import-interface set-top-ribcage-mutable?! set-top-ribcage-key! top-ribcage-mutable? top-ribcage-key top-ribcage? make-top-ribcage set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels label? gen-label set-indirect-label! get-indirect-label indirect-label? gen-indirect-label anon only-top-marked? top-marked? top-wrap empty-wrap wrap-subst wrap-marks make-wrap id-sym-name&marks id-subst id-marks id-sym-name id? nonsymbol-id? global-extend defer-or-eval-transformer make-transformer-binding lookup lookup* displaced-lexical-error displaced-lexical? extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding sanitize-binding arg-check no-source unannotate self-evaluating? lexical-var? build-lexical-var build-top-module build-body build-letrec build-sequence build-data build-primref built-lambda? build-lambda build-revisit-only build-visit-only build-cte-install build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id put-import-binding get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-hook gensym-hook error-hook define-top-level-value-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object noexpand let-values define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(top-ribcage *top* #t))))
|
|
'revisit
|
|
(if (literal-id=?431
|
|
x2141
|
|
'#(syntax-object eval ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-begin parse-alias parse-eval-when parse-meta parse-define-syntax parse-define parse-import parse-module do-import! lookup-import-label import-mark-delta chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi chi-sequence chi-meta-frob chi-frobs ct-eval/residualize3 ct-eval/residualize2 rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports id-set-diff chi-top-module set-frob-meta?! set-frob-e! frob-meta? frob-e frob? make-frob create-module-binding set-module-binding-exported! set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-exported module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-unresolved-interface set-interface-token! set-interface-exports! set-interface-marks! interface-token interface-exports interface-marks interface? make-interface flatten-exports chi-top chi-top-sequence chi-top* syntax-type chi-when-list source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? help-bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks top-id-free-var-name top-id-bound-var-name anon diff-marks same-marks? join-subst join-marks join-wraps smart-append resolved-id-var-name id->resolved-id make-resolved-id make-binding-wrap store-import-binding lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! import-extend-ribcage! extend-ribcage! make-empty-ribcage barrier-marker new-mark anti-mark the-anti-mark set-env-wrap! set-env-top-ribcage! env-wrap env-top-ribcage env? make-env set-import-interface-new-marks! set-import-interface-interface! import-interface-new-marks import-interface-interface import-interface? make-import-interface set-top-ribcage-mutable?! set-top-ribcage-key! top-ribcage-mutable? top-ribcage-key top-ribcage? make-top-ribcage set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels label? gen-label set-indirect-label! get-indirect-label indirect-label? gen-indirect-label anon only-top-marked? top-marked? top-wrap empty-wrap wrap-subst wrap-marks make-wrap id-sym-name&marks id-subst id-marks id-sym-name id? nonsymbol-id? global-extend defer-or-eval-transformer make-transformer-binding lookup lookup* displaced-lexical-error displaced-lexical? extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding sanitize-binding arg-check no-source unannotate self-evaluating? lexical-var? build-lexical-var build-top-module build-body build-letrec build-sequence build-data build-primref built-lambda? build-lambda build-revisit-only build-visit-only build-cte-install build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id put-import-binding get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-hook gensym-hook error-hook define-top-level-value-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object noexpand let-values define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(top-ribcage *top* #t))))
|
|
'eval
|
|
(syntax-error
|
|
(wrap438
|
|
x2141
|
|
w2139)
|
|
'"invalid eval-when situation")))))))
|
|
when-list2140)))
|
|
(syntax-type441 (lambda (e2124 r2123 w2122 ae2121 rib2120)
|
|
(if (symbol? e2124)
|
|
((lambda (n2125)
|
|
((lambda (b2126)
|
|
((lambda (type2127)
|
|
((lambda ()
|
|
((lambda (t2128)
|
|
(if (memv
|
|
t2128
|
|
'(macro macro!))
|
|
(syntax-type441
|
|
(chi-macro497
|
|
(binding-value286
|
|
b2126)
|
|
e2124 r2123 w2122
|
|
ae2121 rib2120)
|
|
r2123 '(()) '#f
|
|
rib2120)
|
|
(values type2127
|
|
(binding-value286
|
|
b2126)
|
|
e2124 w2122
|
|
ae2121)))
|
|
type2127))))
|
|
(binding-type285 b2126)))
|
|
(lookup305 n2125 r2123)))
|
|
(id-var-name429 e2124 w2122))
|
|
(if (pair? e2124)
|
|
((lambda (first2129)
|
|
(if (id?310 first2129)
|
|
((lambda (n2130)
|
|
((lambda (b2131)
|
|
((lambda (type2132)
|
|
((lambda ()
|
|
((lambda (t2133)
|
|
(if (memv
|
|
t2133
|
|
'(lexical))
|
|
(values
|
|
'lexical-call
|
|
(binding-value286
|
|
b2131)
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(macro
|
|
macro!))
|
|
(syntax-type441
|
|
(chi-macro497
|
|
(binding-value286
|
|
b2131)
|
|
e2124
|
|
r2123
|
|
w2122
|
|
ae2121
|
|
rib2120)
|
|
r2123
|
|
'(())
|
|
'#f
|
|
rib2120)
|
|
(if (memv
|
|
t2133
|
|
'(core))
|
|
(values
|
|
type2132
|
|
(binding-value286
|
|
b2131)
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(begin))
|
|
(values
|
|
'begin-form
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(alias))
|
|
(values
|
|
'alias-form
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(define))
|
|
(values
|
|
'define-form
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(define-syntax))
|
|
(values
|
|
'define-syntax-form
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(set!))
|
|
(chi-set!496
|
|
e2124
|
|
r2123
|
|
w2122
|
|
ae2121
|
|
rib2120)
|
|
(if (memv
|
|
t2133
|
|
'($module-key))
|
|
(values
|
|
'$module-form
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'($import))
|
|
(values
|
|
'$import-form
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(eval-when))
|
|
(values
|
|
'eval-when-form
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(meta))
|
|
(values
|
|
'meta-form
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(if (memv
|
|
t2133
|
|
'(local-syntax))
|
|
(values
|
|
'local-syntax-form
|
|
(binding-value286
|
|
b2131)
|
|
e2124
|
|
w2122
|
|
ae2121)
|
|
(values
|
|
'call
|
|
'#f
|
|
e2124
|
|
w2122
|
|
ae2121)))))))))))))))
|
|
type2132))))
|
|
(binding-type285
|
|
b2131)))
|
|
(lookup305 n2130 r2123)))
|
|
(id-var-name429
|
|
first2129
|
|
w2122))
|
|
(values 'call '#f e2124 w2122
|
|
ae2121)))
|
|
(car e2124))
|
|
(if (syntax-object?64 e2124)
|
|
(syntax-type441
|
|
(syntax-object-expression65
|
|
e2124)
|
|
r2123
|
|
(join-wraps417
|
|
w2122
|
|
(syntax-object-wrap66 e2124))
|
|
'#f rib2120)
|
|
(if (annotation?132 e2124)
|
|
(syntax-type441
|
|
(annotation-expression
|
|
e2124)
|
|
r2123 w2122 e2124 rib2120)
|
|
(if ((lambda (x2134)
|
|
((lambda (t2135)
|
|
(if t2135
|
|
t2135
|
|
((lambda (t2136)
|
|
(if t2136
|
|
t2136
|
|
((lambda (t2137)
|
|
(if t2137
|
|
t2137
|
|
((lambda (t2138)
|
|
(if t2138
|
|
t2138
|
|
(null?
|
|
x2134)))
|
|
(char?
|
|
x2134))))
|
|
(string?
|
|
x2134))))
|
|
(number?
|
|
x2134))))
|
|
(boolean? x2134)))
|
|
e2124)
|
|
(values 'constant '#f
|
|
e2124 w2122 ae2121)
|
|
(values 'other '#f e2124
|
|
w2122 ae2121))))))))
|
|
(chi-top*442 (lambda (e2115 r2114 w2113 ctem2112 rtem2111
|
|
meta?2110 top-ribcage2109)
|
|
((lambda (meta-residuals2116)
|
|
(letrec ((meta-residualize!2117 (lambda (x2119)
|
|
(set! meta-residuals2116
|
|
(cons
|
|
x2119
|
|
meta-residuals2116)))))
|
|
((lambda (e2118)
|
|
(build-sequence239
|
|
'#f
|
|
(reverse
|
|
(cons e2118 meta-residuals2116))))
|
|
(chi-top444 e2115 r2114 w2113 ctem2112
|
|
rtem2111 meta?2110 top-ribcage2109
|
|
meta-residualize!2117 '#f))))
|
|
'())))
|
|
(chi-top-sequence443 (lambda (body2105 r2104 w2103 ae2102
|
|
ctem2101 rtem2100 meta?2099
|
|
ribcage2098
|
|
meta-residualize!2097)
|
|
(build-sequence239
|
|
ae2102
|
|
((letrec ((dobody2106 (lambda (body2107)
|
|
(if (null?
|
|
body2107)
|
|
'()
|
|
((lambda (first2108)
|
|
(cons
|
|
first2108
|
|
(dobody2106
|
|
(cdr body2107))))
|
|
(chi-top444
|
|
(car body2107)
|
|
r2104
|
|
w2103
|
|
ctem2101
|
|
rtem2100
|
|
meta?2099
|
|
ribcage2098
|
|
meta-residualize!2097
|
|
'#f))))))
|
|
dobody2106)
|
|
body2105))))
|
|
(chi-top444 (lambda (e2042 r2041 w2040 ctem2039 rtem2038
|
|
meta?2037 top-ribcage2036
|
|
meta-residualize!2035 meta-seen?2034)
|
|
(call-with-values
|
|
(lambda ()
|
|
(syntax-type441 e2042 r2041 w2040 '#f
|
|
top-ribcage2036))
|
|
(lambda (type2047 value2046 e2045 w2044 ae2043)
|
|
((lambda (t2048)
|
|
(if (memv t2048 '(begin-form))
|
|
((lambda (forms2049)
|
|
(if (null? forms2049)
|
|
(chi-void513)
|
|
(chi-top-sequence443 forms2049
|
|
r2041 w2044 ae2043 ctem2039
|
|
rtem2038 meta?2037
|
|
top-ribcage2036
|
|
meta-residualize!2035)))
|
|
(parse-begin510
|
|
e2045
|
|
w2044
|
|
ae2043
|
|
'#t))
|
|
(if (memv t2048 '(local-syntax-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(chi-local-syntax512 value2046
|
|
e2045 r2041 r2041 w2044
|
|
ae2043))
|
|
(lambda (forms2054 r2053 mr2052
|
|
w2051 ae2050)
|
|
(chi-top-sequence443 forms2054
|
|
r2053 w2051 ae2050 ctem2039
|
|
rtem2038 meta?2037
|
|
top-ribcage2036
|
|
meta-residualize!2035)))
|
|
(if (memv t2048 '(eval-when-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-eval-when508
|
|
e2045
|
|
w2044
|
|
ae2043))
|
|
(lambda (when-list2056
|
|
forms2055)
|
|
((lambda (ctem2058
|
|
rtem2057)
|
|
(if (if (null?
|
|
ctem2058)
|
|
(null?
|
|
rtem2057)
|
|
'#f)
|
|
(chi-void513)
|
|
(chi-top-sequence443
|
|
forms2055 r2041
|
|
w2044 ae2043
|
|
ctem2058 rtem2057
|
|
meta?2037
|
|
top-ribcage2036
|
|
meta-residualize!2035)))
|
|
(update-mode-set485
|
|
when-list2056
|
|
ctem2039)
|
|
(update-mode-set485
|
|
when-list2056
|
|
rtem2038))))
|
|
(if (memv t2048 '(meta-form))
|
|
(chi-top444
|
|
(parse-meta507
|
|
e2045
|
|
w2044
|
|
ae2043)
|
|
r2041 w2044 ctem2039
|
|
rtem2038 '#t
|
|
top-ribcage2036
|
|
meta-residualize!2035
|
|
'#t)
|
|
(if (memv
|
|
t2048
|
|
'(define-syntax-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-define-syntax506
|
|
e2045
|
|
w2044
|
|
ae2043))
|
|
(lambda (id2061
|
|
rhs2060
|
|
w2059)
|
|
((lambda (id2062)
|
|
(begin
|
|
(if (displaced-lexical?302
|
|
id2062
|
|
r2041)
|
|
(displaced-lexical-error303
|
|
id2062)
|
|
(void))
|
|
(if (not (top-ribcage-mutable?371
|
|
top-ribcage2036))
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2059
|
|
ae2043)
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
((lambda (sym2063)
|
|
(call-with-values
|
|
(lambda ()
|
|
(top-id-bound-var-name424
|
|
sym2063
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
id2062))
|
|
top-ribcage2036))
|
|
(lambda (valsym2065
|
|
bound-id2064)
|
|
(begin
|
|
(if (not (eq? (id-var-name429
|
|
id2062
|
|
'(()))
|
|
valsym2065))
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2059
|
|
ae2043)
|
|
'"definition not permitted")
|
|
(void))
|
|
(if (read-only-binding?144
|
|
valsym2065)
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2059
|
|
ae2043)
|
|
'"invalid definition of read-only identifier")
|
|
(void))
|
|
(ct-eval/residualize2488
|
|
ctem2039
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
bound-id2064)
|
|
(chi493
|
|
rhs2060
|
|
r2041
|
|
r2041
|
|
w2059
|
|
'#t)
|
|
(list
|
|
'quote
|
|
(top-ribcage-key370
|
|
top-ribcage2036)))))))))
|
|
((lambda (x2066)
|
|
((lambda (e2067)
|
|
(if (annotation?132
|
|
e2067)
|
|
(annotation-expression
|
|
e2067)
|
|
e2067))
|
|
(if (syntax-object?64
|
|
x2066)
|
|
(syntax-object-expression65
|
|
x2066)
|
|
x2066)))
|
|
id2062))))
|
|
(wrap438
|
|
id2061
|
|
w2059))))
|
|
(if (memv
|
|
t2048
|
|
'(define-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-define505
|
|
e2045
|
|
w2044
|
|
ae2043))
|
|
(lambda (id2070
|
|
rhs2069
|
|
w2068)
|
|
((lambda (id2071)
|
|
(begin
|
|
(if (displaced-lexical?302
|
|
id2071
|
|
r2041)
|
|
(displaced-lexical-error303
|
|
id2071)
|
|
(void))
|
|
(if (not (top-ribcage-mutable?371
|
|
top-ribcage2036))
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2068
|
|
ae2043)
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
((lambda (sym2072)
|
|
(call-with-values
|
|
(lambda ()
|
|
(top-id-bound-var-name424
|
|
sym2072
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
id2071))
|
|
top-ribcage2036))
|
|
(lambda (valsym2074
|
|
bound-id2073)
|
|
(begin
|
|
(if (not (eq? (id-var-name429
|
|
id2071
|
|
'(()))
|
|
valsym2074))
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2068
|
|
ae2043)
|
|
'"definition not permitted")
|
|
(void))
|
|
(if (read-only-binding?144
|
|
valsym2074)
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2068
|
|
ae2043)
|
|
'"invalid definition of read-only identifier")
|
|
(void))
|
|
(if meta?2037
|
|
(ct-eval/residualize2488
|
|
ctem2039
|
|
(lambda ()
|
|
(build-sequence239
|
|
'#f
|
|
(list
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
bound-id2073)
|
|
(list
|
|
'quote
|
|
(cons
|
|
'meta-variable
|
|
valsym2074))
|
|
(list
|
|
'quote
|
|
(top-ribcage-key370
|
|
top-ribcage2036)))
|
|
(list
|
|
'define
|
|
valsym2074
|
|
(chi493
|
|
rhs2069
|
|
r2041
|
|
r2041
|
|
w2068
|
|
'#t))))))
|
|
((lambda (x2075)
|
|
(build-sequence239
|
|
'#f
|
|
(list
|
|
x2075
|
|
(rt-eval/residualize487
|
|
rtem2038
|
|
(lambda ()
|
|
(list
|
|
'define
|
|
valsym2074
|
|
(chi493
|
|
rhs2069
|
|
r2041
|
|
r2041
|
|
w2068
|
|
'#f)))))))
|
|
(ct-eval/residualize2488
|
|
ctem2039
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
bound-id2073)
|
|
(list
|
|
'quote
|
|
(cons
|
|
'global
|
|
valsym2074))
|
|
(list
|
|
'quote
|
|
(top-ribcage-key370
|
|
top-ribcage2036)))))))))))
|
|
((lambda (x2076)
|
|
((lambda (e2077)
|
|
(if (annotation?132
|
|
e2077)
|
|
(annotation-expression
|
|
e2077)
|
|
e2077))
|
|
(if (syntax-object?64
|
|
x2076)
|
|
(syntax-object-expression65
|
|
x2076)
|
|
x2076)))
|
|
id2071))))
|
|
(wrap438
|
|
id2070
|
|
w2068))))
|
|
(if (memv
|
|
t2048
|
|
'($module-form))
|
|
((lambda (ribcage2078)
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-module503
|
|
e2045
|
|
w2044
|
|
ae2043
|
|
(make-wrap319
|
|
(wrap-marks320
|
|
w2044)
|
|
(cons
|
|
ribcage2078
|
|
(wrap-subst321
|
|
w2044)))))
|
|
(lambda (orig2082
|
|
id2081
|
|
exports2080
|
|
forms2079)
|
|
(begin
|
|
(if (displaced-lexical?302
|
|
id2081
|
|
r2041)
|
|
(displaced-lexical-error303
|
|
(wrap438
|
|
id2081
|
|
w2044))
|
|
(void))
|
|
(if (not (top-ribcage-mutable?371
|
|
top-ribcage2036))
|
|
(syntax-error
|
|
orig2082
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
(chi-top-module477
|
|
orig2082
|
|
r2041
|
|
r2041
|
|
top-ribcage2036
|
|
ribcage2078
|
|
ctem2039
|
|
rtem2038
|
|
meta?2037
|
|
id2081
|
|
exports2080
|
|
forms2079
|
|
meta-residualize!2035)))))
|
|
(make-ribcage360
|
|
'()
|
|
'()
|
|
'()))
|
|
(if (memv
|
|
t2048
|
|
'($import-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-import504
|
|
e2045
|
|
w2044
|
|
ae2043))
|
|
(lambda (orig2085
|
|
only?2084
|
|
mid2083)
|
|
(begin
|
|
(if (not (top-ribcage-mutable?371
|
|
top-ribcage2036))
|
|
(syntax-error
|
|
orig2085
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
(ct-eval/residualize2488
|
|
ctem2039
|
|
(lambda ()
|
|
((lambda (binding2086)
|
|
((lambda (t2087)
|
|
(if (memv
|
|
t2087
|
|
'($module))
|
|
(do-top-import484
|
|
only?2084
|
|
top-ribcage2036
|
|
mid2083
|
|
(interface-token450
|
|
(binding-value286
|
|
binding2086)))
|
|
(if (memv
|
|
t2087
|
|
'(displaced-lexical))
|
|
(displaced-lexical-error303
|
|
mid2083)
|
|
(syntax-error
|
|
mid2083
|
|
'"unknown module"))))
|
|
(binding-type285
|
|
binding2086)))
|
|
(lookup305
|
|
(id-var-name429
|
|
mid2083
|
|
'(()))
|
|
'())))))))
|
|
(if (memv
|
|
t2048
|
|
'(alias-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-alias509
|
|
e2045
|
|
w2044
|
|
ae2043))
|
|
(lambda (new-id2089
|
|
old-id2088)
|
|
((lambda (new-id2090)
|
|
(begin
|
|
(if (displaced-lexical?302
|
|
new-id2090
|
|
r2041)
|
|
(displaced-lexical-error303
|
|
new-id2090)
|
|
(void))
|
|
(if (not (top-ribcage-mutable?371
|
|
top-ribcage2036))
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2044
|
|
ae2043)
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
((lambda (sym2091)
|
|
(call-with-values
|
|
(lambda ()
|
|
(top-id-bound-var-name424
|
|
sym2091
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
new-id2090))
|
|
top-ribcage2036))
|
|
(lambda (valsym2093
|
|
bound-id2092)
|
|
(begin
|
|
(if (not (eq? (id-var-name429
|
|
new-id2090
|
|
'(()))
|
|
valsym2093))
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2044
|
|
ae2043)
|
|
'"definition not permitted")
|
|
(void))
|
|
(if (read-only-binding?144
|
|
valsym2093)
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2044
|
|
ae2043)
|
|
'"invalid definition of read-only identifier")
|
|
(void))
|
|
(ct-eval/residualize2488
|
|
ctem2039
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
(make-resolved-id413
|
|
sym2091
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
new-id2090))
|
|
(id-var-name429
|
|
old-id2088
|
|
w2044)))
|
|
(list
|
|
'quote
|
|
'(do-alias
|
|
.
|
|
#f))
|
|
(list
|
|
'quote
|
|
(top-ribcage-key370
|
|
top-ribcage2036)))))))))
|
|
((lambda (x2094)
|
|
((lambda (e2095)
|
|
(if (annotation?132
|
|
e2095)
|
|
(annotation-expression
|
|
e2095)
|
|
e2095))
|
|
(if (syntax-object?64
|
|
x2094)
|
|
(syntax-object-expression65
|
|
x2094)
|
|
x2094)))
|
|
new-id2090))))
|
|
(wrap438
|
|
new-id2089
|
|
w2044))))
|
|
(begin
|
|
(if meta-seen?2034
|
|
(syntax-error
|
|
(source-wrap439
|
|
e2045
|
|
w2044
|
|
ae2043)
|
|
'"invalid meta definition")
|
|
(void))
|
|
(if meta?2037
|
|
((lambda (x2096)
|
|
(begin
|
|
(top-level-eval-hook133
|
|
x2096)
|
|
(ct-eval/residualize3489
|
|
ctem2039
|
|
void
|
|
(lambda ()
|
|
x2096))))
|
|
(chi-expr494
|
|
type2047
|
|
value2046
|
|
e2045
|
|
r2041
|
|
r2041
|
|
w2044
|
|
ae2043
|
|
'#t))
|
|
(rt-eval/residualize487
|
|
rtem2038
|
|
(lambda ()
|
|
(chi-expr494
|
|
type2047
|
|
value2046
|
|
e2045
|
|
r2041
|
|
r2041
|
|
w2044
|
|
ae2043
|
|
'#f)))))))))))))))
|
|
type2047)))))
|
|
(flatten-exports445 (lambda (exports2030)
|
|
((letrec ((loop2031 (lambda (exports2033
|
|
ls2032)
|
|
(if (null?
|
|
exports2033)
|
|
ls2032
|
|
(loop2031
|
|
(cdr exports2033)
|
|
(if (pair?
|
|
(car exports2033))
|
|
(loop2031
|
|
(car exports2033)
|
|
ls2032)
|
|
(cons
|
|
(car exports2033)
|
|
ls2032)))))))
|
|
loop2031)
|
|
exports2030
|
|
'())))
|
|
(make-interface446 (lambda (marks2029 exports2028 token2027)
|
|
(vector
|
|
'interface
|
|
marks2029
|
|
exports2028
|
|
token2027)))
|
|
(interface?447 (lambda (x2026)
|
|
(if (vector? x2026)
|
|
(if (= (vector-length x2026) '4)
|
|
(eq? (vector-ref x2026 '0) 'interface)
|
|
'#f)
|
|
'#f)))
|
|
(interface-marks448 (lambda (x2025) (vector-ref x2025 '1)))
|
|
(interface-exports449 (lambda (x2024)
|
|
(vector-ref x2024 '2)))
|
|
(interface-token450 (lambda (x2023) (vector-ref x2023 '3)))
|
|
(set-interface-marks!451 (lambda (x2022 update2021)
|
|
(vector-set! x2022 '1 update2021)))
|
|
(set-interface-exports!452 (lambda (x2020 update2019)
|
|
(vector-set!
|
|
x2020
|
|
'2
|
|
update2019)))
|
|
(set-interface-token!453 (lambda (x2018 update2017)
|
|
(vector-set! x2018 '3 update2017)))
|
|
(make-unresolved-interface454 (lambda (mid2015 exports2014)
|
|
(make-interface446
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
mid2015))
|
|
(list->vector
|
|
(map (lambda (x2016)
|
|
(if (pair? x2016)
|
|
(car x2016)
|
|
x2016))
|
|
exports2014))
|
|
'#f)))
|
|
(make-resolved-interface455 (lambda (mid2012 exports2011
|
|
token2010)
|
|
(make-interface446
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
mid2012))
|
|
(list->vector
|
|
(map (lambda (x2013)
|
|
(id->resolved-id414
|
|
(if (pair? x2013)
|
|
(car x2013)
|
|
x2013)))
|
|
exports2011))
|
|
token2010)))
|
|
(make-module-binding456 (lambda (type2009 id2008 label2007
|
|
imps2006 val2005 exported2004)
|
|
(vector 'module-binding type2009
|
|
id2008 label2007 imps2006 val2005
|
|
exported2004)))
|
|
(module-binding?457 (lambda (x2003)
|
|
(if (vector? x2003)
|
|
(if (= (vector-length x2003) '7)
|
|
(eq? (vector-ref x2003 '0)
|
|
'module-binding)
|
|
'#f)
|
|
'#f)))
|
|
(module-binding-type458 (lambda (x2002)
|
|
(vector-ref x2002 '1)))
|
|
(module-binding-id459 (lambda (x2001)
|
|
(vector-ref x2001 '2)))
|
|
(module-binding-label460 (lambda (x2000)
|
|
(vector-ref x2000 '3)))
|
|
(module-binding-imps461 (lambda (x1999)
|
|
(vector-ref x1999 '4)))
|
|
(module-binding-val462 (lambda (x1998)
|
|
(vector-ref x1998 '5)))
|
|
(module-binding-exported463 (lambda (x1997)
|
|
(vector-ref x1997 '6)))
|
|
(set-module-binding-type!464 (lambda (x1996 update1995)
|
|
(vector-set!
|
|
x1996
|
|
'1
|
|
update1995)))
|
|
(set-module-binding-id!465 (lambda (x1994 update1993)
|
|
(vector-set!
|
|
x1994
|
|
'2
|
|
update1993)))
|
|
(set-module-binding-label!466 (lambda (x1992 update1991)
|
|
(vector-set!
|
|
x1992
|
|
'3
|
|
update1991)))
|
|
(set-module-binding-imps!467 (lambda (x1990 update1989)
|
|
(vector-set!
|
|
x1990
|
|
'4
|
|
update1989)))
|
|
(set-module-binding-val!468 (lambda (x1988 update1987)
|
|
(vector-set!
|
|
x1988
|
|
'5
|
|
update1987)))
|
|
(set-module-binding-exported!469 (lambda (x1986 update1985)
|
|
(vector-set!
|
|
x1986
|
|
'6
|
|
update1985)))
|
|
(create-module-binding470 (lambda (type1984 id1983 label1982
|
|
imps1981 val1980)
|
|
(make-module-binding456 type1984
|
|
id1983 label1982 imps1981 val1980
|
|
'#f)))
|
|
(make-frob471 (lambda (e1979 meta?1978)
|
|
(vector 'frob e1979 meta?1978)))
|
|
(frob?472 (lambda (x1977)
|
|
(if (vector? x1977)
|
|
(if (= (vector-length x1977) '3)
|
|
(eq? (vector-ref x1977 '0) 'frob)
|
|
'#f)
|
|
'#f)))
|
|
(frob-e473 (lambda (x1976) (vector-ref x1976 '1)))
|
|
(frob-meta?474 (lambda (x1975) (vector-ref x1975 '2)))
|
|
(set-frob-e!475 (lambda (x1974 update1973)
|
|
(vector-set! x1974 '1 update1973)))
|
|
(set-frob-meta?!476 (lambda (x1972 update1971)
|
|
(vector-set! x1972 '2 update1971)))
|
|
(chi-top-module477 (lambda (orig1912 r1911 mr1910
|
|
top-ribcage1909 ribcage1908
|
|
ctem1907 rtem1906 meta?1905 id1904
|
|
exports1903 forms1902
|
|
meta-residualize!1901)
|
|
((lambda (fexports1913)
|
|
(call-with-values
|
|
(lambda ()
|
|
(chi-external481 ribcage1908
|
|
orig1912
|
|
(map (lambda (d1970)
|
|
(make-frob471
|
|
d1970
|
|
meta?1905))
|
|
forms1902)
|
|
r1911 mr1910 ctem1907 exports1903
|
|
fexports1913
|
|
meta-residualize!1901))
|
|
(lambda (r1917 mr1916 bindings1915
|
|
inits1914)
|
|
((letrec ((process-exports1918 (lambda (fexports1920
|
|
ctdefs1919)
|
|
(if (null?
|
|
fexports1920)
|
|
((letrec ((process-locals1921 (lambda (bs1926
|
|
r1925
|
|
dts1924
|
|
dvs1923
|
|
des1922)
|
|
(if (null?
|
|
bs1926)
|
|
((lambda (des1928
|
|
inits1927)
|
|
(build-sequence239
|
|
'#f
|
|
(append
|
|
(ctdefs1919)
|
|
(list
|
|
(ct-eval/residualize2488
|
|
ctem1907
|
|
(lambda ()
|
|
((lambda (sym1929)
|
|
((lambda (token1930)
|
|
((lambda (b1931)
|
|
((lambda ()
|
|
(call-with-values
|
|
(lambda ()
|
|
(top-id-bound-var-name424
|
|
sym1929
|
|
(wrap-marks320
|
|
(syntax-object-wrap66
|
|
id1904))
|
|
top-ribcage1909))
|
|
(lambda (valsym1933
|
|
bound-id1932)
|
|
(begin
|
|
(if (not (eq? (id-var-name429
|
|
id1904
|
|
'(()))
|
|
valsym1933))
|
|
(syntax-error
|
|
orig1912
|
|
'"definition not permitted")
|
|
(void))
|
|
(if (read-only-binding?144
|
|
valsym1933)
|
|
(syntax-error
|
|
orig1912
|
|
'"invalid definition of read-only identifier")
|
|
(void))
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
bound-id1932)
|
|
b1931
|
|
(list
|
|
'quote
|
|
(top-ribcage-key370
|
|
top-ribcage1909)))))))))
|
|
(list
|
|
'quote
|
|
(cons
|
|
'$module
|
|
(make-resolved-interface455
|
|
id1904
|
|
exports1903
|
|
token1930)))))
|
|
(generate-id147
|
|
sym1929)))
|
|
((lambda (x1934)
|
|
((lambda (e1935)
|
|
(if (annotation?132
|
|
e1935)
|
|
(annotation-expression
|
|
e1935)
|
|
e1935))
|
|
(if (syntax-object?64
|
|
x1934)
|
|
(syntax-object-expression65
|
|
x1934)
|
|
x1934)))
|
|
id1904))))
|
|
(rt-eval/residualize487
|
|
rtem1906
|
|
(lambda ()
|
|
(build-top-module242
|
|
'#f
|
|
dts1924
|
|
dvs1923
|
|
des1928
|
|
(if (null?
|
|
inits1927)
|
|
(chi-void513)
|
|
(build-sequence239
|
|
'#f
|
|
(append
|
|
inits1927
|
|
(list
|
|
(chi-void513))))))))))))
|
|
(chi-frobs490
|
|
des1922
|
|
r1925
|
|
mr1916
|
|
'#f)
|
|
(chi-frobs490
|
|
inits1914
|
|
r1925
|
|
mr1916
|
|
'#f))
|
|
((lambda (b1937
|
|
bs1936)
|
|
((lambda (t1938)
|
|
((lambda (t1939)
|
|
(if (memv
|
|
t1939
|
|
'(define-form))
|
|
((lambda (label1940)
|
|
(if (module-binding-exported463
|
|
b1937)
|
|
((lambda (var1941)
|
|
(process-locals1921
|
|
bs1936
|
|
r1925
|
|
(cons
|
|
'global
|
|
dts1924)
|
|
(cons
|
|
label1940
|
|
dvs1923)
|
|
(cons
|
|
(module-binding-val462
|
|
b1937)
|
|
des1922)))
|
|
(module-binding-id459
|
|
b1937))
|
|
((lambda (var1942)
|
|
(process-locals1921
|
|
bs1936
|
|
(extend-env299
|
|
label1940
|
|
(cons
|
|
'lexical
|
|
var1942)
|
|
r1925)
|
|
(cons
|
|
'local
|
|
dts1924)
|
|
(cons
|
|
var1942
|
|
dvs1923)
|
|
(cons
|
|
(module-binding-val462
|
|
b1937)
|
|
des1922)))
|
|
(gen-var518
|
|
(module-binding-id459
|
|
b1937)))))
|
|
(get-indirect-label355
|
|
(module-binding-label460
|
|
b1937)))
|
|
(if (memv
|
|
t1939
|
|
'(ctdefine-form
|
|
define-syntax-form
|
|
$module-form
|
|
alias-form))
|
|
(process-locals1921
|
|
bs1936
|
|
r1925
|
|
dts1924
|
|
dvs1923
|
|
des1922)
|
|
(error 'sc-expand-internal
|
|
'"unexpected module binding type ~s"
|
|
t1938))))
|
|
(module-binding-type458
|
|
b1937)))
|
|
(module-binding-type458
|
|
b1937)))
|
|
(car bs1926)
|
|
(cdr bs1926))))))
|
|
process-locals1921)
|
|
bindings1915
|
|
r1917
|
|
'()
|
|
'()
|
|
'())
|
|
((lambda (id1944
|
|
fexports1943)
|
|
((letrec ((loop1945 (lambda (bs1946)
|
|
(if (null?
|
|
bs1946)
|
|
(process-exports1918
|
|
fexports1943
|
|
ctdefs1919)
|
|
((lambda (b1948
|
|
bs1947)
|
|
(if (free-id=?430
|
|
(module-binding-id459
|
|
b1948)
|
|
id1944)
|
|
(if (module-binding-exported463
|
|
b1948)
|
|
(process-exports1918
|
|
fexports1943
|
|
ctdefs1919)
|
|
((lambda (t1949)
|
|
((lambda (label1950)
|
|
((lambda (imps1951)
|
|
((lambda (fexports1952)
|
|
((lambda ()
|
|
(begin
|
|
(set-module-binding-exported!469
|
|
b1948
|
|
'#t)
|
|
((lambda (t1953)
|
|
(if (memv
|
|
t1953
|
|
'(define-form))
|
|
((lambda (sym1954)
|
|
(begin
|
|
(set-indirect-label!356
|
|
label1950
|
|
sym1954)
|
|
(process-exports1918
|
|
fexports1952
|
|
ctdefs1919)))
|
|
(generate-id147
|
|
((lambda (x1955)
|
|
((lambda (e1956)
|
|
(if (annotation?132
|
|
e1956)
|
|
(annotation-expression
|
|
e1956)
|
|
e1956))
|
|
(if (syntax-object?64
|
|
x1955)
|
|
(syntax-object-expression65
|
|
x1955)
|
|
x1955)))
|
|
id1944)))
|
|
(if (memv
|
|
t1953
|
|
'(ctdefine-form))
|
|
((lambda (b1957)
|
|
(process-exports1918
|
|
fexports1952
|
|
(lambda ()
|
|
((lambda (sym1958)
|
|
(begin
|
|
(set-indirect-label!356
|
|
label1950
|
|
sym1958)
|
|
(cons
|
|
(ct-eval/residualize3489
|
|
ctem1907
|
|
(lambda ()
|
|
(put-cte-hook141
|
|
sym1958
|
|
b1957))
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
sym1958)
|
|
(list
|
|
'quote
|
|
b1957)
|
|
(list
|
|
'quote
|
|
'#f))))
|
|
(ctdefs1919))))
|
|
(binding-value286
|
|
b1957)))))
|
|
(module-binding-val462
|
|
b1948))
|
|
(if (memv
|
|
t1953
|
|
'(define-syntax-form))
|
|
((lambda (sym1959)
|
|
(process-exports1918
|
|
fexports1952
|
|
(lambda ()
|
|
((lambda (local-label1960)
|
|
(begin
|
|
(set-indirect-label!356
|
|
label1950
|
|
sym1959)
|
|
(cons
|
|
(ct-eval/residualize3489
|
|
ctem1907
|
|
(lambda ()
|
|
(put-cte-hook141
|
|
sym1959
|
|
(car (module-binding-val462
|
|
b1948))))
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
sym1959)
|
|
(cdr (module-binding-val462
|
|
b1948))
|
|
(list
|
|
'quote
|
|
'#f))))
|
|
(ctdefs1919))))
|
|
(get-indirect-label355
|
|
label1950)))))
|
|
(generate-id147
|
|
((lambda (x1961)
|
|
((lambda (e1962)
|
|
(if (annotation?132
|
|
e1962)
|
|
(annotation-expression
|
|
e1962)
|
|
e1962))
|
|
(if (syntax-object?64
|
|
x1961)
|
|
(syntax-object-expression65
|
|
x1961)
|
|
x1961)))
|
|
id1944)))
|
|
(if (memv
|
|
t1953
|
|
'($module-form))
|
|
((lambda (sym1964
|
|
exports1963)
|
|
(process-exports1918
|
|
(append
|
|
(flatten-exports445
|
|
exports1963)
|
|
fexports1952)
|
|
(lambda ()
|
|
(begin
|
|
(set-indirect-label!356
|
|
label1950
|
|
sym1964)
|
|
((lambda (rest1965)
|
|
((lambda (x1966)
|
|
(cons
|
|
(ct-eval/residualize3489
|
|
ctem1907
|
|
(lambda ()
|
|
(put-cte-hook141
|
|
sym1964
|
|
x1966))
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
sym1964)
|
|
(list
|
|
'quote
|
|
x1966)
|
|
(list
|
|
'quote
|
|
'#f))))
|
|
rest1965))
|
|
(cons
|
|
'$module
|
|
(make-resolved-interface455
|
|
id1944
|
|
exports1963
|
|
sym1964))))
|
|
(ctdefs1919))))))
|
|
(generate-id147
|
|
((lambda (x1967)
|
|
((lambda (e1968)
|
|
(if (annotation?132
|
|
e1968)
|
|
(annotation-expression
|
|
e1968)
|
|
e1968))
|
|
(if (syntax-object?64
|
|
x1967)
|
|
(syntax-object-expression65
|
|
x1967)
|
|
x1967)))
|
|
id1944))
|
|
(module-binding-val462
|
|
b1948))
|
|
(if (memv
|
|
t1953
|
|
'(alias-form))
|
|
(process-exports1918
|
|
fexports1952
|
|
(lambda ()
|
|
((lambda (rest1969)
|
|
(begin
|
|
(if (indirect-label?351
|
|
label1950)
|
|
(if (not (symbol?
|
|
(get-indirect-label355
|
|
label1950)))
|
|
(syntax-error
|
|
(module-binding-id459
|
|
b1948)
|
|
'"unexported target of alias")
|
|
(void))
|
|
(void))
|
|
rest1969))
|
|
(ctdefs1919))))
|
|
(error 'sc-expand-internal
|
|
'"unexpected module binding type ~s"
|
|
t1949)))))))
|
|
t1949)))))
|
|
(append
|
|
imps1951
|
|
fexports1943)))
|
|
(module-binding-imps461
|
|
b1948)))
|
|
(module-binding-label460
|
|
b1948)))
|
|
(module-binding-type458
|
|
b1948)))
|
|
(loop1945
|
|
bs1947)))
|
|
(car bs1946)
|
|
(cdr bs1946))))))
|
|
loop1945)
|
|
bindings1915))
|
|
(car fexports1920)
|
|
(cdr fexports1920))))))
|
|
process-exports1918)
|
|
fexports1913
|
|
(lambda () '())))))
|
|
(flatten-exports445 exports1903))))
|
|
(id-set-diff478 (lambda (exports1900 defs1899)
|
|
(if (null? exports1900)
|
|
'()
|
|
(if (bound-id-member?437
|
|
(car exports1900)
|
|
defs1899)
|
|
(id-set-diff478
|
|
(cdr exports1900)
|
|
defs1899)
|
|
(cons
|
|
(car exports1900)
|
|
(id-set-diff478
|
|
(cdr exports1900)
|
|
defs1899))))))
|
|
(check-module-exports479 (lambda (source-exp1874
|
|
fexports1873 ids1872)
|
|
(letrec ((defined?1875 (lambda (e1882
|
|
ids1881)
|
|
(ormap
|
|
(lambda (x1883)
|
|
(if (import-interface?375
|
|
x1883)
|
|
((lambda (x.iface1885
|
|
x.new-marks1884)
|
|
((lambda (t1886)
|
|
(if t1886
|
|
((lambda (token1887)
|
|
(lookup-import-binding-name410
|
|
((lambda (x1888)
|
|
((lambda (e1889)
|
|
(if (annotation?132
|
|
e1889)
|
|
(annotation-expression
|
|
e1889)
|
|
e1889))
|
|
(if (syntax-object?64
|
|
x1888)
|
|
(syntax-object-expression65
|
|
x1888)
|
|
x1888)))
|
|
e1882)
|
|
(id-marks316
|
|
e1882)
|
|
token1887
|
|
x.new-marks1884))
|
|
t1886)
|
|
((lambda (v1890)
|
|
((letrec ((lp1891 (lambda (i1892)
|
|
(if (>= i1892
|
|
'0)
|
|
((lambda (t1893)
|
|
(if t1893
|
|
t1893
|
|
(lp1891
|
|
(fx- i1892
|
|
'1))))
|
|
((lambda (id1894)
|
|
(help-bound-id=?432
|
|
((lambda (x1897)
|
|
((lambda (e1898)
|
|
(if (annotation?132
|
|
e1898)
|
|
(annotation-expression
|
|
e1898)
|
|
e1898))
|
|
(if (syntax-object?64
|
|
x1897)
|
|
(syntax-object-expression65
|
|
x1897)
|
|
x1897)))
|
|
id1894)
|
|
(join-marks418
|
|
x.new-marks1884
|
|
(id-marks316
|
|
id1894))
|
|
((lambda (x1895)
|
|
((lambda (e1896)
|
|
(if (annotation?132
|
|
e1896)
|
|
(annotation-expression
|
|
e1896)
|
|
e1896))
|
|
(if (syntax-object?64
|
|
x1895)
|
|
(syntax-object-expression65
|
|
x1895)
|
|
x1895)))
|
|
e1882)
|
|
(id-marks316
|
|
e1882)))
|
|
(vector-ref
|
|
v1890
|
|
i1892)))
|
|
'#f))))
|
|
lp1891)
|
|
(fx- (vector-length
|
|
v1890)
|
|
'1)))
|
|
(interface-exports449
|
|
x.iface1885))))
|
|
(interface-token450
|
|
x.iface1885)))
|
|
(import-interface-interface376
|
|
x1883)
|
|
(import-interface-new-marks377
|
|
x1883))
|
|
(bound-id=?433
|
|
e1882
|
|