10859 lines
1.3 MiB
10859 lines
1.3 MiB
;;; psyntax.pp
|
|
;;; automatically generated from psyntax.scm
|
|
;;; Mon Feb 26 23:22:05 EST 2007
|
|
;;; see copyright notice in psyntax.scm
|
|
|
|
((lambda ()
|
|
(letrec ((noexpand62 '"noexpand")
|
|
(make-syntax-object63 (lambda (expression2530 wrap2529)
|
|
(vector
|
|
'syntax-object
|
|
expression2530
|
|
wrap2529)))
|
|
(syntax-object?64 (lambda (x2528)
|
|
(if (vector? x2528)
|
|
(if (= (vector-length x2528) '3)
|
|
(eq? (vector-ref x2528 '0)
|
|
'syntax-object)
|
|
'#f)
|
|
'#f)))
|
|
(syntax-object-expression65 (lambda (x2527)
|
|
(vector-ref x2527 '1)))
|
|
(syntax-object-wrap66 (lambda (x2526)
|
|
(vector-ref x2526 '2)))
|
|
(set-syntax-object-expression!67 (lambda (x2525 update2524)
|
|
(vector-set!
|
|
x2525
|
|
'1
|
|
update2524)))
|
|
(set-syntax-object-wrap!68 (lambda (x2523 update2522)
|
|
(vector-set!
|
|
x2523
|
|
'2
|
|
update2522)))
|
|
(annotation?132 (lambda (x2521) '#f))
|
|
(top-level-eval-hook133 (lambda (x2520)
|
|
(eval (list noexpand62 x2520))))
|
|
(local-eval-hook134 (lambda (x2519)
|
|
(eval (list noexpand62 x2519))))
|
|
(define-top-level-value-hook135 (lambda (sym2518 val2517)
|
|
(top-level-eval-hook133
|
|
(list
|
|
'define
|
|
sym2518
|
|
(list 'quote val2517)))))
|
|
(error-hook136 (lambda (who2516 why2515 what2514)
|
|
(error who2516 '"~a ~s" why2515 what2514)))
|
|
(put-cte-hook137 (lambda (symbol2513 val2512)
|
|
($sc-put-cte symbol2513 val2512 '*top*)))
|
|
(get-global-definition-hook138 (lambda (symbol2511)
|
|
(getprop
|
|
symbol2511
|
|
'*sc-expander*)))
|
|
(put-global-definition-hook139 (lambda (symbol2510 x2509)
|
|
(if (not x2509)
|
|
(remprop
|
|
symbol2510
|
|
'*sc-expander*)
|
|
(putprop
|
|
symbol2510
|
|
'*sc-expander*
|
|
x2509))))
|
|
(read-only-binding?140 (lambda (symbol2508) '#f))
|
|
(get-import-binding141 (lambda (symbol2507 token2506)
|
|
(getprop symbol2507 token2506)))
|
|
(update-import-binding!142 (lambda (symbol2504 token2503
|
|
p2502)
|
|
((lambda (x2505)
|
|
(if (not x2505)
|
|
(remprop
|
|
symbol2504
|
|
token2503)
|
|
(putprop
|
|
symbol2504
|
|
token2503
|
|
x2505)))
|
|
(p2502
|
|
(get-import-binding141
|
|
symbol2504
|
|
token2503)))))
|
|
(generate-id143 ((lambda (digits2488)
|
|
((lambda (base2490 session-key2489)
|
|
(letrec ((make-digit2491 (lambda (x2501)
|
|
(string-ref
|
|
digits2488
|
|
x2501)))
|
|
(fmt2492 (lambda (n2495)
|
|
((letrec ((fmt2496 (lambda (n2498
|
|
a2497)
|
|
(if (< n2498
|
|
base2490)
|
|
(list->string
|
|
(cons
|
|
(make-digit2491
|
|
n2498)
|
|
a2497))
|
|
((lambda (r2500
|
|
rest2499)
|
|
(fmt2496
|
|
rest2499
|
|
(cons
|
|
(make-digit2491
|
|
r2500)
|
|
a2497)))
|
|
(modulo
|
|
n2498
|
|
base2490)
|
|
(quotient
|
|
n2498
|
|
base2490))))))
|
|
fmt2496)
|
|
n2495
|
|
'()))))
|
|
((lambda (n2493)
|
|
(lambda (name2494)
|
|
(begin
|
|
(set! n2493 (+ n2493 '1))
|
|
(string->symbol
|
|
(string-append
|
|
session-key2489
|
|
(fmt2492 n2493))))))
|
|
'-1)))
|
|
(string-length digits2488)
|
|
'"_"))
|
|
'"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!$%&*/:<=>?~_^.+-"))
|
|
(built-lambda?217 (lambda (x2487)
|
|
(if (pair? x2487)
|
|
(eq? (car x2487) 'lambda)
|
|
'#f)))
|
|
(build-sequence235 (lambda (ae2484 exps2483)
|
|
((letrec ((loop2485 (lambda (exps2486)
|
|
(if (null?
|
|
(cdr exps2486))
|
|
(car exps2486)
|
|
(if (equal?
|
|
(car exps2486)
|
|
'(void))
|
|
(loop2485
|
|
(cdr exps2486))
|
|
(cons
|
|
'begin
|
|
exps2486))))))
|
|
loop2485)
|
|
exps2483)))
|
|
(build-letrec236 (lambda (ae2482 vars2481 val-exps2480
|
|
body-exp2479)
|
|
(if (null? vars2481)
|
|
body-exp2479
|
|
(list
|
|
'letrec
|
|
(map list vars2481 val-exps2480)
|
|
body-exp2479))))
|
|
(build-body237 (lambda (ae2478 vars2477 val-exps2476
|
|
body-exp2475)
|
|
(build-letrec236
|
|
ae2478
|
|
vars2477
|
|
val-exps2476
|
|
body-exp2475)))
|
|
(build-top-module238 (lambda (ae2463 types2462 vars2461
|
|
val-exps2460 body-exp2459)
|
|
(call-with-values
|
|
(lambda ()
|
|
((letrec ((f2467 (lambda (types2469
|
|
vars2468)
|
|
(if (null?
|
|
types2469)
|
|
(values
|
|
'()
|
|
'()
|
|
'())
|
|
((lambda (var2470)
|
|
(call-with-values
|
|
(lambda ()
|
|
(f2467
|
|
(cdr types2469)
|
|
(cdr vars2468)))
|
|
(lambda (vars2473
|
|
defns2472
|
|
sets2471)
|
|
(if (eq? (car types2469)
|
|
'global)
|
|
((lambda (x2474)
|
|
(values
|
|
(cons
|
|
x2474
|
|
vars2473)
|
|
(cons
|
|
(list
|
|
'define
|
|
var2470
|
|
(chi-void518))
|
|
defns2472)
|
|
(cons
|
|
(list
|
|
'set!
|
|
var2470
|
|
x2474)
|
|
sets2471)))
|
|
(gensym))
|
|
(values
|
|
(cons
|
|
var2470
|
|
vars2473)
|
|
defns2472
|
|
sets2471)))))
|
|
(car vars2468))))))
|
|
f2467)
|
|
types2462
|
|
vars2461))
|
|
(lambda (vars2466 defns2465 sets2464)
|
|
(if (null? defns2465)
|
|
(build-letrec236
|
|
ae2463
|
|
vars2466
|
|
val-exps2460
|
|
body-exp2459)
|
|
(build-sequence235
|
|
'#f
|
|
(append
|
|
defns2465
|
|
(list
|
|
(build-letrec236
|
|
ae2463
|
|
vars2466
|
|
val-exps2460
|
|
(build-sequence235
|
|
'#f
|
|
(append
|
|
sets2464
|
|
(list
|
|
body-exp2459))))))))))))
|
|
(sanitize-binding271 (lambda (b2455)
|
|
(if (procedure? b2455)
|
|
(cons 'macro b2455)
|
|
(if (binding?285 b2455)
|
|
(if ((lambda (t2456)
|
|
(if (memv
|
|
t2456
|
|
'(core
|
|
macro
|
|
macro!
|
|
deferred))
|
|
(procedure?
|
|
(binding-value282
|
|
b2455))
|
|
(if (memv
|
|
t2456
|
|
'($module))
|
|
(interface?452
|
|
(binding-value282
|
|
b2455))
|
|
(if (memv
|
|
t2456
|
|
'(lexical))
|
|
'#f
|
|
(if (memv
|
|
t2456
|
|
'(global
|
|
meta-variable))
|
|
(symbol?
|
|
(binding-value282
|
|
b2455))
|
|
(if (memv
|
|
t2456
|
|
'(syntax))
|
|
((lambda (x2457)
|
|
(if (pair?
|
|
x2457)
|
|
(if '#f
|
|
((lambda (n2458)
|
|
(if (integer?
|
|
n2458)
|
|
(if (exact?
|
|
n2458)
|
|
(>= n2458
|
|
'0)
|
|
'#f)
|
|
'#f))
|
|
(cdr x2457))
|
|
'#f)
|
|
'#f))
|
|
(binding-value282
|
|
b2455))
|
|
(if (memv
|
|
t2456
|
|
'(begin
|
|
define
|
|
define-syntax
|
|
set!
|
|
$module-key
|
|
$import
|
|
eval-when
|
|
meta))
|
|
(null?
|
|
(binding-value282
|
|
b2455))
|
|
(if (memv
|
|
t2456
|
|
'(local-syntax))
|
|
(boolean?
|
|
(binding-value282
|
|
b2455))
|
|
(if (memv
|
|
t2456
|
|
'(displaced-lexical))
|
|
(eq? (binding-value282
|
|
b2455)
|
|
'#f)
|
|
'#t)))))))))
|
|
(binding-type281 b2455))
|
|
b2455
|
|
'#f)
|
|
'#f))))
|
|
(binding-type281 car)
|
|
(binding-value282 cdr)
|
|
(set-binding-type!283 set-car!)
|
|
(set-binding-value!284 set-cdr!)
|
|
(binding?285 (lambda (x2454)
|
|
(if (pair? x2454) (symbol? (car x2454)) '#f)))
|
|
(extend-env295 (lambda (label2453 binding2452 r2451)
|
|
(cons (cons label2453 binding2452) r2451)))
|
|
(extend-env*296 (lambda (labels2450 bindings2449 r2448)
|
|
(if (null? labels2450)
|
|
r2448
|
|
(extend-env*296
|
|
(cdr labels2450)
|
|
(cdr bindings2449)
|
|
(extend-env295
|
|
(car labels2450)
|
|
(car bindings2449)
|
|
r2448)))))
|
|
(extend-var-env*297 (lambda (labels2447 vars2446 r2445)
|
|
(if (null? labels2447)
|
|
r2445
|
|
(extend-var-env*297
|
|
(cdr labels2447)
|
|
(cdr vars2446)
|
|
(extend-env295
|
|
(car labels2447)
|
|
(cons 'lexical (car vars2446))
|
|
r2445)))))
|
|
(displaced-lexical?298 (lambda (id2442 r2441)
|
|
((lambda (n2443)
|
|
(if n2443
|
|
((lambda (b2444)
|
|
(eq? (binding-type281 b2444)
|
|
'displaced-lexical))
|
|
(lookup301 n2443 r2441))
|
|
'#f))
|
|
(id-var-name434 id2442 '(())))))
|
|
(displaced-lexical-error299 (lambda (id2440)
|
|
(syntax-error
|
|
id2440
|
|
(if (id-var-name434
|
|
id2440
|
|
'(()))
|
|
'"identifier out of context"
|
|
'"identifier not visible"))))
|
|
(lookup*300 (lambda (x2437 r2436)
|
|
((lambda (t2438)
|
|
(if t2438
|
|
(cdr t2438)
|
|
(if (symbol? x2437)
|
|
((lambda (t2439)
|
|
(if t2439
|
|
t2439
|
|
(cons 'global x2437)))
|
|
(get-global-definition-hook138
|
|
x2437))
|
|
'(displaced-lexical . #f))))
|
|
(assq x2437 r2436))))
|
|
(lookup301 (lambda (x2431 r2430)
|
|
(letrec ((whack-binding!2432 (lambda (b2435
|
|
*b2434)
|
|
(begin
|
|
(set-binding-type!283
|
|
b2435
|
|
(binding-type281
|
|
*b2434))
|
|
(set-binding-value!284
|
|
b2435
|
|
(binding-value282
|
|
*b2434))))))
|
|
((lambda (b2433)
|
|
(begin
|
|
(if (eq? (binding-type281 b2433) 'deferred)
|
|
(whack-binding!2432
|
|
b2433
|
|
(make-transformer-binding302
|
|
((binding-value282 b2433))))
|
|
(void))
|
|
b2433))
|
|
(lookup*300 x2431 r2430)))))
|
|
(make-transformer-binding302 (lambda (b2428)
|
|
((lambda (t2429)
|
|
(if t2429
|
|
t2429
|
|
(syntax-error
|
|
b2428
|
|
'"invalid transformer")))
|
|
(sanitize-binding271 b2428))))
|
|
(defer-or-eval-transformer303 (lambda (eval2427 x2426)
|
|
(if (built-lambda?217 x2426)
|
|
(cons
|
|
'deferred
|
|
(lambda ()
|
|
(eval2427 x2426)))
|
|
(make-transformer-binding302
|
|
(eval2427 x2426)))))
|
|
(global-extend304 (lambda (type2425 sym2424 val2423)
|
|
(put-cte-hook137
|
|
sym2424
|
|
(cons type2425 val2423))))
|
|
(nonsymbol-id?305 (lambda (x2421)
|
|
(if (syntax-object?64 x2421)
|
|
(symbol?
|
|
((lambda (e2422)
|
|
(if (annotation?132 e2422)
|
|
(annotation-expression e2422)
|
|
e2422))
|
|
(syntax-object-expression65
|
|
x2421)))
|
|
'#f)))
|
|
(id?306 (lambda (x2419)
|
|
(if (symbol? x2419)
|
|
'#t
|
|
(if (syntax-object?64 x2419)
|
|
(symbol?
|
|
((lambda (e2420)
|
|
(if (annotation?132 e2420)
|
|
(annotation-expression e2420)
|
|
e2420))
|
|
(syntax-object-expression65 x2419)))
|
|
(if (annotation?132 x2419)
|
|
(symbol? (annotation-expression x2419))
|
|
'#f)))))
|
|
(id-marks312 (lambda (id2418)
|
|
(if (syntax-object?64 id2418)
|
|
(wrap-marks316
|
|
(syntax-object-wrap66 id2418))
|
|
(wrap-marks316 '((top))))))
|
|
(id-subst313 (lambda (id2417)
|
|
(if (syntax-object?64 id2417)
|
|
(wrap-subst317
|
|
(syntax-object-wrap66 id2417))
|
|
(wrap-marks316 '((top))))))
|
|
(id-sym-name&marks314 (lambda (x2414 w2413)
|
|
(if (syntax-object?64 x2414)
|
|
(values
|
|
((lambda (e2415)
|
|
(if (annotation?132 e2415)
|
|
(annotation-expression
|
|
e2415)
|
|
e2415))
|
|
(syntax-object-expression65
|
|
x2414))
|
|
(join-marks423
|
|
(wrap-marks316 w2413)
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
x2414))))
|
|
(values
|
|
((lambda (e2416)
|
|
(if (annotation?132 e2416)
|
|
(annotation-expression
|
|
e2416)
|
|
e2416))
|
|
x2414)
|
|
(wrap-marks316 w2413)))))
|
|
(make-wrap315 cons)
|
|
(wrap-marks316 car)
|
|
(wrap-subst317 cdr)
|
|
(make-indirect-label355 (lambda (label2412)
|
|
(vector 'indirect-label label2412)))
|
|
(indirect-label?356 (lambda (x2411)
|
|
(if (vector? x2411)
|
|
(if (= (vector-length x2411) '2)
|
|
(eq? (vector-ref x2411 '0)
|
|
'indirect-label)
|
|
'#f)
|
|
'#f)))
|
|
(indirect-label-label357 (lambda (x2410)
|
|
(vector-ref x2410 '1)))
|
|
(set-indirect-label-label!358 (lambda (x2409 update2408)
|
|
(vector-set!
|
|
x2409
|
|
'1
|
|
update2408)))
|
|
(gen-indirect-label359 (lambda ()
|
|
(make-indirect-label355
|
|
(gen-label362))))
|
|
(get-indirect-label360 (lambda (x2407)
|
|
(indirect-label-label357 x2407)))
|
|
(set-indirect-label!361 (lambda (x2406 v2405)
|
|
(set-indirect-label-label!358
|
|
x2406
|
|
v2405)))
|
|
(gen-label362 (lambda () (string '#\i)))
|
|
(label?363 (lambda (x2402)
|
|
((lambda (t2403)
|
|
(if t2403
|
|
t2403
|
|
((lambda (t2404)
|
|
(if t2404
|
|
t2404
|
|
(indirect-label?356 x2402)))
|
|
(symbol? x2402))))
|
|
(string? x2402))))
|
|
(gen-labels364 (lambda (ls2401)
|
|
(if (null? ls2401)
|
|
'()
|
|
(cons
|
|
(gen-label362)
|
|
(gen-labels364 (cdr ls2401))))))
|
|
(make-ribcage365 (lambda (symnames2400 marks2399 labels2398)
|
|
(vector
|
|
'ribcage
|
|
symnames2400
|
|
marks2399
|
|
labels2398)))
|
|
(ribcage?366 (lambda (x2397)
|
|
(if (vector? x2397)
|
|
(if (= (vector-length x2397) '4)
|
|
(eq? (vector-ref x2397 '0) 'ribcage)
|
|
'#f)
|
|
'#f)))
|
|
(ribcage-symnames367 (lambda (x2396) (vector-ref x2396 '1)))
|
|
(ribcage-marks368 (lambda (x2395) (vector-ref x2395 '2)))
|
|
(ribcage-labels369 (lambda (x2394) (vector-ref x2394 '3)))
|
|
(set-ribcage-symnames!370 (lambda (x2393 update2392)
|
|
(vector-set! x2393 '1 update2392)))
|
|
(set-ribcage-marks!371 (lambda (x2391 update2390)
|
|
(vector-set! x2391 '2 update2390)))
|
|
(set-ribcage-labels!372 (lambda (x2389 update2388)
|
|
(vector-set! x2389 '3 update2388)))
|
|
(make-top-ribcage373 (lambda (key2387 mutable?2386)
|
|
(vector
|
|
'top-ribcage
|
|
key2387
|
|
mutable?2386)))
|
|
(top-ribcage?374 (lambda (x2385)
|
|
(if (vector? x2385)
|
|
(if (= (vector-length x2385) '3)
|
|
(eq? (vector-ref x2385 '0)
|
|
'top-ribcage)
|
|
'#f)
|
|
'#f)))
|
|
(top-ribcage-key375 (lambda (x2384) (vector-ref x2384 '1)))
|
|
(top-ribcage-mutable?376 (lambda (x2383)
|
|
(vector-ref x2383 '2)))
|
|
(set-top-ribcage-key!377 (lambda (x2382 update2381)
|
|
(vector-set! x2382 '1 update2381)))
|
|
(set-top-ribcage-mutable?!378 (lambda (x2380 update2379)
|
|
(vector-set!
|
|
x2380
|
|
'2
|
|
update2379)))
|
|
(make-import-interface379 (lambda (interface2378
|
|
new-marks2377)
|
|
(vector
|
|
'import-interface
|
|
interface2378
|
|
new-marks2377)))
|
|
(import-interface?380 (lambda (x2376)
|
|
(if (vector? x2376)
|
|
(if (= (vector-length x2376) '3)
|
|
(eq? (vector-ref x2376 '0)
|
|
'import-interface)
|
|
'#f)
|
|
'#f)))
|
|
(import-interface-interface381 (lambda (x2375)
|
|
(vector-ref x2375 '1)))
|
|
(import-interface-new-marks382 (lambda (x2374)
|
|
(vector-ref x2374 '2)))
|
|
(set-import-interface-interface!383 (lambda (x2373
|
|
update2372)
|
|
(vector-set!
|
|
x2373
|
|
'1
|
|
update2372)))
|
|
(set-import-interface-new-marks!384 (lambda (x2371
|
|
update2370)
|
|
(vector-set!
|
|
x2371
|
|
'2
|
|
update2370)))
|
|
(make-env385 (lambda (top-ribcage2369 wrap2368)
|
|
(vector 'env top-ribcage2369 wrap2368)))
|
|
(env?386 (lambda (x2367)
|
|
(if (vector? x2367)
|
|
(if (= (vector-length x2367) '3)
|
|
(eq? (vector-ref x2367 '0) 'env)
|
|
'#f)
|
|
'#f)))
|
|
(env-top-ribcage387 (lambda (x2366) (vector-ref x2366 '1)))
|
|
(env-wrap388 (lambda (x2365) (vector-ref x2365 '2)))
|
|
(set-env-top-ribcage!389 (lambda (x2364 update2363)
|
|
(vector-set! x2364 '1 update2363)))
|
|
(set-env-wrap!390 (lambda (x2362 update2361)
|
|
(vector-set! x2362 '2 update2361)))
|
|
(anti-mark400 (lambda (w2360)
|
|
(make-wrap315
|
|
(cons '#f (wrap-marks316 w2360))
|
|
(cons 'shift (wrap-subst317 w2360)))))
|
|
(barrier-marker405 '#f)
|
|
(extend-ribcage!410 (lambda (ribcage2358 id2357 label2356)
|
|
(begin
|
|
(set-ribcage-symnames!370
|
|
ribcage2358
|
|
(cons
|
|
((lambda (e2359)
|
|
(if (annotation?132 e2359)
|
|
(annotation-expression
|
|
e2359)
|
|
e2359))
|
|
(syntax-object-expression65
|
|
id2357))
|
|
(ribcage-symnames367 ribcage2358)))
|
|
(set-ribcage-marks!371
|
|
ribcage2358
|
|
(cons
|
|
(wrap-marks316
|
|
(syntax-object-wrap66 id2357))
|
|
(ribcage-marks368 ribcage2358)))
|
|
(set-ribcage-labels!372
|
|
ribcage2358
|
|
(cons
|
|
label2356
|
|
(ribcage-labels369
|
|
ribcage2358))))))
|
|
(import-extend-ribcage!411 (lambda (ribcage2354
|
|
new-marks2353 id2352
|
|
label2351)
|
|
(begin
|
|
(set-ribcage-symnames!370
|
|
ribcage2354
|
|
(cons
|
|
((lambda (e2355)
|
|
(if (annotation?132
|
|
e2355)
|
|
(annotation-expression
|
|
e2355)
|
|
e2355))
|
|
(syntax-object-expression65
|
|
id2352))
|
|
(ribcage-symnames367
|
|
ribcage2354)))
|
|
(set-ribcage-marks!371
|
|
ribcage2354
|
|
(cons
|
|
(join-marks423
|
|
new-marks2353
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
id2352)))
|
|
(ribcage-marks368
|
|
ribcage2354)))
|
|
(set-ribcage-labels!372
|
|
ribcage2354
|
|
(cons
|
|
label2351
|
|
(ribcage-labels369
|
|
ribcage2354))))))
|
|
(extend-ribcage-barrier!412 (lambda (ribcage2350
|
|
killer-id2349)
|
|
(extend-ribcage-barrier-help!413
|
|
ribcage2350
|
|
(syntax-object-wrap66
|
|
killer-id2349))))
|
|
(extend-ribcage-barrier-help!413 (lambda (ribcage2348
|
|
wrap2347)
|
|
(begin
|
|
(set-ribcage-symnames!370
|
|
ribcage2348
|
|
(cons
|
|
barrier-marker405
|
|
(ribcage-symnames367
|
|
ribcage2348)))
|
|
(set-ribcage-marks!371
|
|
ribcage2348
|
|
(cons
|
|
(wrap-marks316
|
|
wrap2347)
|
|
(ribcage-marks368
|
|
ribcage2348))))))
|
|
(extend-ribcage-subst!414 (lambda (ribcage2346
|
|
import-iface2345)
|
|
(set-ribcage-symnames!370
|
|
ribcage2346
|
|
(cons
|
|
import-iface2345
|
|
(ribcage-symnames367
|
|
ribcage2346)))))
|
|
(lookup-import-binding-name415 (lambda (sym2340 marks2339
|
|
token2338
|
|
new-marks2337)
|
|
((lambda (new2341)
|
|
(if new2341
|
|
((letrec ((f2342 (lambda (new2343)
|
|
(if (pair?
|
|
new2343)
|
|
((lambda (t2344)
|
|
(if t2344
|
|
t2344
|
|
(f2342
|
|
(cdr new2343))))
|
|
(f2342
|
|
(car new2343)))
|
|
(if (symbol?
|
|
new2343)
|
|
(if (same-marks?425
|
|
marks2339
|
|
(join-marks423
|
|
new-marks2337
|
|
(wrap-marks316
|
|
'((top)))))
|
|
new2343
|
|
'#f)
|
|
(if (same-marks?425
|
|
marks2339
|
|
(join-marks423
|
|
new-marks2337
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
new2343))))
|
|
new2343
|
|
'#f))))))
|
|
f2342)
|
|
new2341)
|
|
'#f))
|
|
(get-import-binding141
|
|
sym2340
|
|
token2338))))
|
|
(store-import-binding416 (lambda (id2321 token2320
|
|
new-marks2319)
|
|
(letrec ((cons-id2322 (lambda (id2336
|
|
x2335)
|
|
(if (not x2335)
|
|
id2336
|
|
(cons
|
|
id2336
|
|
x2335))))
|
|
(weed2323 (lambda (marks2334
|
|
x2333)
|
|
(if (pair?
|
|
x2333)
|
|
(if (same-marks?425
|
|
(id-marks312
|
|
(car x2333))
|
|
marks2334)
|
|
(weed2323
|
|
marks2334
|
|
(cdr x2333))
|
|
(cons-id2322
|
|
(car x2333)
|
|
(weed2323
|
|
marks2334
|
|
(cdr x2333))))
|
|
(if x2333
|
|
(if (not (same-marks?425
|
|
(id-marks312
|
|
x2333)
|
|
marks2334))
|
|
x2333
|
|
'#f)
|
|
'#f)))))
|
|
((lambda (id2324)
|
|
((lambda (sym2325)
|
|
(if (not (eq? id2324
|
|
sym2325))
|
|
((lambda (marks2326)
|
|
(update-import-binding!142
|
|
sym2325
|
|
token2320
|
|
(lambda (old-binding2327)
|
|
((lambda (x2328)
|
|
(cons-id2322
|
|
(if (same-marks?425
|
|
marks2326
|
|
(wrap-marks316
|
|
'((top))))
|
|
(resolved-id-var-name420
|
|
id2324)
|
|
id2324)
|
|
x2328))
|
|
(weed2323
|
|
marks2326
|
|
old-binding2327)))))
|
|
(id-marks312 id2324))
|
|
(void)))
|
|
((lambda (x2329)
|
|
((lambda (e2330)
|
|
(if (annotation?132
|
|
e2330)
|
|
(annotation-expression
|
|
e2330)
|
|
e2330))
|
|
(if (syntax-object?64
|
|
x2329)
|
|
(syntax-object-expression65
|
|
x2329)
|
|
x2329)))
|
|
id2324)))
|
|
(if (null? new-marks2319)
|
|
id2321
|
|
(make-syntax-object63
|
|
((lambda (x2331)
|
|
((lambda (e2332)
|
|
(if (annotation?132
|
|
e2332)
|
|
(annotation-expression
|
|
e2332)
|
|
e2332))
|
|
(if (syntax-object?64
|
|
x2331)
|
|
(syntax-object-expression65
|
|
x2331)
|
|
x2331)))
|
|
id2321)
|
|
(make-wrap315
|
|
(join-marks423
|
|
new-marks2319
|
|
(id-marks312 id2321))
|
|
(id-subst313
|
|
id2321))))))))
|
|
(make-binding-wrap417 (lambda (ids2309 labels2308 w2307)
|
|
(if (null? ids2309)
|
|
w2307
|
|
(make-wrap315
|
|
(wrap-marks316 w2307)
|
|
(cons
|
|
((lambda (labelvec2310)
|
|
((lambda (n2311)
|
|
((lambda (symnamevec2313
|
|
marksvec2312)
|
|
(begin
|
|
((letrec ((f2314 (lambda (ids2316
|
|
i2315)
|
|
(if (not (null?
|
|
ids2316))
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-sym-name&marks314
|
|
(car ids2316)
|
|
w2307))
|
|
(lambda (symname2318
|
|
marks2317)
|
|
(begin
|
|
(vector-set!
|
|
symnamevec2313
|
|
i2315
|
|
symname2318)
|
|
(vector-set!
|
|
marksvec2312
|
|
i2315
|
|
marks2317)
|
|
(f2314
|
|
(cdr ids2316)
|
|
(+ i2315
|
|
'1)))))
|
|
(void)))))
|
|
f2314)
|
|
ids2309
|
|
'0)
|
|
(make-ribcage365
|
|
symnamevec2313
|
|
marksvec2312
|
|
labelvec2310)))
|
|
(make-vector n2311)
|
|
(make-vector n2311)))
|
|
(vector-length
|
|
labelvec2310)))
|
|
(list->vector labels2308))
|
|
(wrap-subst317 w2307))))))
|
|
(make-resolved-id418 (lambda (fromsym2306 marks2305
|
|
tosym2304)
|
|
(make-syntax-object63
|
|
fromsym2306
|
|
(make-wrap315
|
|
marks2305
|
|
(list
|
|
(make-ribcage365
|
|
(vector fromsym2306)
|
|
(vector marks2305)
|
|
(vector tosym2304)))))))
|
|
(id->resolved-id419 (lambda (id2299)
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-var-name&marks432 id2299 '(())))
|
|
(lambda (tosym2301 marks2300)
|
|
(begin
|
|
(if (not tosym2301)
|
|
(syntax-error
|
|
id2299
|
|
'"identifier not visible for export")
|
|
(void))
|
|
(make-resolved-id418
|
|
((lambda (x2302)
|
|
((lambda (e2303)
|
|
(if (annotation?132 e2303)
|
|
(annotation-expression
|
|
e2303)
|
|
e2303))
|
|
(if (syntax-object?64 x2302)
|
|
(syntax-object-expression65
|
|
x2302)
|
|
x2302)))
|
|
id2299)
|
|
marks2300
|
|
tosym2301))))))
|
|
(resolved-id-var-name420 (lambda (id2298)
|
|
(vector-ref
|
|
(ribcage-labels369
|
|
(car (wrap-subst317
|
|
(syntax-object-wrap66
|
|
id2298))))
|
|
'0)))
|
|
(smart-append421 (lambda (m12297 m22296)
|
|
(if (null? m22296)
|
|
m12297
|
|
(append m12297 m22296))))
|
|
(join-wraps422 (lambda (w12293 w22292)
|
|
((lambda (m12295 s12294)
|
|
(if (null? m12295)
|
|
(if (null? s12294)
|
|
w22292
|
|
(make-wrap315
|
|
(wrap-marks316 w22292)
|
|
(join-subst424
|
|
s12294
|
|
(wrap-subst317 w22292))))
|
|
(make-wrap315
|
|
(join-marks423
|
|
m12295
|
|
(wrap-marks316 w22292))
|
|
(join-subst424
|
|
s12294
|
|
(wrap-subst317 w22292)))))
|
|
(wrap-marks316 w12293)
|
|
(wrap-subst317 w12293))))
|
|
(join-marks423 (lambda (m12291 m22290)
|
|
(smart-append421 m12291 m22290)))
|
|
(join-subst424 (lambda (s12289 s22288)
|
|
(smart-append421 s12289 s22288)))
|
|
(same-marks?425 (lambda (x2286 y2285)
|
|
((lambda (t2287)
|
|
(if t2287
|
|
t2287
|
|
(if (not (null? x2286))
|
|
(if (not (null? y2285))
|
|
(if (eq? (car x2286)
|
|
(car y2285))
|
|
(same-marks?425
|
|
(cdr x2286)
|
|
(cdr y2285))
|
|
'#f)
|
|
'#f)
|
|
'#f)))
|
|
(eq? x2286 y2285))))
|
|
(diff-marks426 (lambda (m12279 m22278)
|
|
((lambda (n12281 n22280)
|
|
((letrec ((f2282 (lambda (n12284 m12283)
|
|
(if (> n12284 n22280)
|
|
(cons
|
|
(car m12283)
|
|
(f2282
|
|
(- n12284 '1)
|
|
(cdr m12283)))
|
|
(if (equal?
|
|
m12283
|
|
m22278)
|
|
'()
|
|
(error 'sc-expand
|
|
'"internal error in diff-marks: ~s is not a tail of ~s"
|
|
m12283
|
|
m22278))))))
|
|
f2282)
|
|
n12281
|
|
m12279))
|
|
(length m12279)
|
|
(length m22278))))
|
|
(leave-implicit?427 (lambda (token2277)
|
|
(eq? token2277 '*top*)))
|
|
(new-binding428 (lambda (sym2274 marks2273 token2272)
|
|
((lambda (loc2275)
|
|
((lambda (id2276)
|
|
(begin
|
|
(store-import-binding416
|
|
id2276
|
|
token2272
|
|
'())
|
|
(values loc2275 id2276)))
|
|
(make-resolved-id418
|
|
sym2274
|
|
marks2273
|
|
loc2275)))
|
|
(if (if (leave-implicit?427 token2272)
|
|
(same-marks?425
|
|
marks2273
|
|
(wrap-marks316 '((top))))
|
|
'#f)
|
|
sym2274
|
|
(generate-id143 sym2274)))))
|
|
(top-id-bound-var-name429 (lambda (sym2268 marks2267
|
|
top-ribcage2266)
|
|
((lambda (token2269)
|
|
((lambda (t2270)
|
|
(if t2270
|
|
((lambda (id2271)
|
|
(if (symbol? id2271)
|
|
(if (read-only-binding?140
|
|
id2271)
|
|
(new-binding428
|
|
sym2268
|
|
marks2267
|
|
token2269)
|
|
(values
|
|
id2271
|
|
(make-resolved-id418
|
|
sym2268
|
|
marks2267
|
|
id2271)))
|
|
(values
|
|
(resolved-id-var-name420
|
|
id2271)
|
|
id2271)))
|
|
t2270)
|
|
(new-binding428
|
|
sym2268
|
|
marks2267
|
|
token2269)))
|
|
(lookup-import-binding-name415
|
|
sym2268
|
|
marks2267
|
|
token2269
|
|
'())))
|
|
(top-ribcage-key375
|
|
top-ribcage2266))))
|
|
(top-id-free-var-name430 (lambda (sym2260 marks2259
|
|
top-ribcage2258)
|
|
((lambda (token2261)
|
|
((lambda (t2262)
|
|
(if t2262
|
|
((lambda (id2263)
|
|
(if (symbol? id2263)
|
|
id2263
|
|
(resolved-id-var-name420
|
|
id2263)))
|
|
t2262)
|
|
(if (if (top-ribcage-mutable?376
|
|
top-ribcage2258)
|
|
(same-marks?425
|
|
marks2259
|
|
(wrap-marks316
|
|
'((top))))
|
|
'#f)
|
|
(call-with-values
|
|
(lambda ()
|
|
(new-binding428
|
|
sym2260
|
|
(wrap-marks316
|
|
'((top)))
|
|
token2261))
|
|
(lambda (sym2265
|
|
id2264)
|
|
sym2265))
|
|
'#f)))
|
|
(lookup-import-binding-name415
|
|
sym2260
|
|
marks2259
|
|
token2261
|
|
'())))
|
|
(top-ribcage-key375
|
|
top-ribcage2258))))
|
|
(id-var-name-loc&marks431 (lambda (id2209 w2208)
|
|
(letrec ((search2210 (lambda (sym2253
|
|
subst2252
|
|
marks2251)
|
|
(if (null?
|
|
subst2252)
|
|
(values
|
|
'#f
|
|
marks2251)
|
|
((lambda (fst2254)
|
|
(if (eq? fst2254
|
|
'shift)
|
|
(search2210
|
|
sym2253
|
|
(cdr subst2252)
|
|
(cdr marks2251))
|
|
(if (ribcage?366
|
|
fst2254)
|
|
((lambda (symnames2255)
|
|
(if (vector?
|
|
symnames2255)
|
|
(search-vector-rib2212
|
|
sym2253
|
|
subst2252
|
|
marks2251
|
|
symnames2255
|
|
fst2254)
|
|
(search-list-rib2211
|
|
sym2253
|
|
subst2252
|
|
marks2251
|
|
symnames2255
|
|
fst2254)))
|
|
(ribcage-symnames367
|
|
fst2254))
|
|
(if (top-ribcage?374
|
|
fst2254)
|
|
((lambda (t2256)
|
|
(if t2256
|
|
((lambda (var-name2257)
|
|
(values
|
|
var-name2257
|
|
marks2251))
|
|
t2256)
|
|
(search2210
|
|
sym2253
|
|
(cdr subst2252)
|
|
marks2251)))
|
|
(top-id-free-var-name430
|
|
sym2253
|
|
marks2251
|
|
fst2254))
|
|
(error 'sc-expand
|
|
'"internal error in id-var-name-loc&marks: improper subst ~s"
|
|
subst2252)))))
|
|
(car subst2252)))))
|
|
(search-list-rib2211 (lambda (sym2231
|
|
subst2230
|
|
marks2229
|
|
symnames2228
|
|
ribcage2227)
|
|
((letrec ((f2232 (lambda (symnames2234
|
|
i2233)
|
|
(if (null?
|
|
symnames2234)
|
|
(search2210
|
|
sym2231
|
|
(cdr subst2230)
|
|
marks2229)
|
|
((lambda (x2235)
|
|
(if (if (eq? x2235
|
|
sym2231)
|
|
(same-marks?425
|
|
marks2229
|
|
(list-ref
|
|
(ribcage-marks368
|
|
ribcage2227)
|
|
i2233))
|
|
'#f)
|
|
(values
|
|
(list-ref
|
|
(ribcage-labels369
|
|
ribcage2227)
|
|
i2233)
|
|
marks2229)
|
|
(if (import-interface?380
|
|
x2235)
|
|
((lambda (iface2237
|
|
new-marks2236)
|
|
((lambda (t2238)
|
|
(if t2238
|
|
((lambda (token2239)
|
|
((lambda (t2240)
|
|
(if t2240
|
|
((lambda (id2241)
|
|
(values
|
|
(if (symbol?
|
|
id2241)
|
|
id2241
|
|
(resolved-id-var-name420
|
|
id2241))
|
|
marks2229))
|
|
t2240)
|
|
(f2232
|
|
(cdr symnames2234)
|
|
i2233)))
|
|
(lookup-import-binding-name415
|
|
sym2231
|
|
marks2229
|
|
token2239
|
|
new-marks2236)))
|
|
t2238)
|
|
((lambda (ie2242)
|
|
((lambda (n2243)
|
|
((lambda ()
|
|
((letrec ((g2244 (lambda (j2245)
|
|
(if (= j2245
|
|
n2243)
|
|
(f2232
|
|
(cdr symnames2234)
|
|
i2233)
|
|
((lambda (id2246)
|
|
((lambda (id.sym2248
|
|
id.marks2247)
|
|
(if (help-bound-id=?437
|
|
id.sym2248
|
|
id.marks2247
|
|
sym2231
|
|
marks2229)
|
|
(values
|
|
(lookup-import-label506
|
|
id2246)
|
|
marks2229)
|
|
(g2244
|
|
(+ j2245
|
|
'1))))
|
|
((lambda (x2249)
|
|
((lambda (e2250)
|
|
(if (annotation?132
|
|
e2250)
|
|
(annotation-expression
|
|
e2250)
|
|
e2250))
|
|
(if (syntax-object?64
|
|
x2249)
|
|
(syntax-object-expression65
|
|
x2249)
|
|
x2249)))
|
|
id2246)
|
|
(join-marks423
|
|
new-marks2236
|
|
(id-marks312
|
|
id2246))))
|
|
(vector-ref
|
|
ie2242
|
|
j2245))))))
|
|
g2244)
|
|
'0))))
|
|
(vector-length
|
|
ie2242)))
|
|
(interface-exports454
|
|
iface2237))))
|
|
(interface-token455
|
|
iface2237)))
|
|
(import-interface-interface381
|
|
x2235)
|
|
(import-interface-new-marks382
|
|
x2235))
|
|
(if (if (eq? x2235
|
|
barrier-marker405)
|
|
(same-marks?425
|
|
marks2229
|
|
(list-ref
|
|
(ribcage-marks368
|
|
ribcage2227)
|
|
i2233))
|
|
'#f)
|
|
(values
|
|
'#f
|
|
marks2229)
|
|
(f2232
|
|
(cdr symnames2234)
|
|
(+ i2233
|
|
'1))))))
|
|
(car symnames2234))))))
|
|
f2232)
|
|
symnames2228
|
|
'0)))
|
|
(search-vector-rib2212 (lambda (sym2223
|
|
subst2222
|
|
marks2221
|
|
symnames2220
|
|
ribcage2219)
|
|
((lambda (n2224)
|
|
((letrec ((f2225 (lambda (i2226)
|
|
(if (= i2226
|
|
n2224)
|
|
(search2210
|
|
sym2223
|
|
(cdr subst2222)
|
|
marks2221)
|
|
(if (if (eq? (vector-ref
|
|
symnames2220
|
|
i2226)
|
|
sym2223)
|
|
(same-marks?425
|
|
marks2221
|
|
(vector-ref
|
|
(ribcage-marks368
|
|
ribcage2219)
|
|
i2226))
|
|
'#f)
|
|
(values
|
|
(vector-ref
|
|
(ribcage-labels369
|
|
ribcage2219)
|
|
i2226)
|
|
marks2221)
|
|
(f2225
|
|
(+ i2226
|
|
'1)))))))
|
|
f2225)
|
|
'0))
|
|
(vector-length
|
|
symnames2220)))))
|
|
(if (symbol? id2209)
|
|
(search2210
|
|
id2209
|
|
(wrap-subst317 w2208)
|
|
(wrap-marks316 w2208))
|
|
(if (syntax-object?64 id2209)
|
|
((lambda (sym2214 w12213)
|
|
(call-with-values
|
|
(lambda ()
|
|
(search2210
|
|
sym2214
|
|
(wrap-subst317
|
|
w2208)
|
|
(join-marks423
|
|
(wrap-marks316
|
|
w2208)
|
|
(wrap-marks316
|
|
w12213))))
|
|
(lambda (name2216
|
|
marks2215)
|
|
(if name2216
|
|
(values
|
|
name2216
|
|
marks2215)
|
|
(search2210
|
|
sym2214
|
|
(wrap-subst317
|
|
w12213)
|
|
marks2215)))))
|
|
((lambda (e2217)
|
|
(if (annotation?132
|
|
e2217)
|
|
(annotation-expression
|
|
e2217)
|
|
e2217))
|
|
(syntax-object-expression65
|
|
id2209))
|
|
(syntax-object-wrap66
|
|
id2209))
|
|
(if (annotation?132
|
|
id2209)
|
|
(search2210
|
|
((lambda (e2218)
|
|
(if (annotation?132
|
|
e2218)
|
|
(annotation-expression
|
|
e2218)
|
|
e2218))
|
|
id2209)
|
|
(wrap-subst317
|
|
w2208)
|
|
(wrap-marks316
|
|
w2208))
|
|
(error-hook136
|
|
'id-var-name
|
|
'"invalid id"
|
|
id2209)))))))
|
|
(id-var-name&marks432 (lambda (id2205 w2204)
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-var-name-loc&marks431
|
|
id2205
|
|
w2204))
|
|
(lambda (label2207 marks2206)
|
|
(values
|
|
(if (indirect-label?356
|
|
label2207)
|
|
(get-indirect-label360
|
|
label2207)
|
|
label2207)
|
|
marks2206)))))
|
|
(id-var-name-loc433 (lambda (id2201 w2200)
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-var-name-loc&marks431
|
|
id2201
|
|
w2200))
|
|
(lambda (label2203 marks2202)
|
|
label2203))))
|
|
(id-var-name434 (lambda (id2197 w2196)
|
|
(call-with-values
|
|
(lambda ()
|
|
(id-var-name-loc&marks431 id2197 w2196))
|
|
(lambda (label2199 marks2198)
|
|
(if (indirect-label?356 label2199)
|
|
(get-indirect-label360 label2199)
|
|
label2199)))))
|
|
(free-id=?435 (lambda (i2191 j2190)
|
|
(if (eq? ((lambda (x2194)
|
|
((lambda (e2195)
|
|
(if (annotation?132 e2195)
|
|
(annotation-expression
|
|
e2195)
|
|
e2195))
|
|
(if (syntax-object?64 x2194)
|
|
(syntax-object-expression65
|
|
x2194)
|
|
x2194)))
|
|
i2191)
|
|
((lambda (x2192)
|
|
((lambda (e2193)
|
|
(if (annotation?132 e2193)
|
|
(annotation-expression
|
|
e2193)
|
|
e2193))
|
|
(if (syntax-object?64 x2192)
|
|
(syntax-object-expression65
|
|
x2192)
|
|
x2192)))
|
|
j2190))
|
|
(eq? (id-var-name434 i2191 '(()))
|
|
(id-var-name434 j2190 '(())))
|
|
'#f)))
|
|
(literal-id=?436 (lambda (id2180 literal2179)
|
|
(if (eq? ((lambda (x2183)
|
|
((lambda (e2184)
|
|
(if (annotation?132 e2184)
|
|
(annotation-expression
|
|
e2184)
|
|
e2184))
|
|
(if (syntax-object?64 x2183)
|
|
(syntax-object-expression65
|
|
x2183)
|
|
x2183)))
|
|
id2180)
|
|
((lambda (x2181)
|
|
((lambda (e2182)
|
|
(if (annotation?132 e2182)
|
|
(annotation-expression
|
|
e2182)
|
|
e2182))
|
|
(if (syntax-object?64 x2181)
|
|
(syntax-object-expression65
|
|
x2181)
|
|
x2181)))
|
|
literal2179))
|
|
((lambda (n-id2186 n-literal2185)
|
|
((lambda (t2187)
|
|
(if t2187
|
|
t2187
|
|
(if ((lambda (t2188)
|
|
(if t2188
|
|
t2188
|
|
(symbol?
|
|
n-id2186)))
|
|
(not n-id2186))
|
|
((lambda (t2189)
|
|
(if t2189
|
|
t2189
|
|
(symbol?
|
|
n-literal2185)))
|
|
(not n-literal2185))
|
|
'#f)))
|
|
(eq? n-id2186 n-literal2185)))
|
|
(id-var-name434 id2180 '(()))
|
|
(id-var-name434 literal2179 '(())))
|
|
'#f)))
|
|
(help-bound-id=?437 (lambda (i.sym2178 i.marks2177 j.sym2176
|
|
j.marks2175)
|
|
(if (eq? i.sym2178 j.sym2176)
|
|
(same-marks?425
|
|
i.marks2177
|
|
j.marks2175)
|
|
'#f)))
|
|
(bound-id=?438 (lambda (i2170 j2169)
|
|
(help-bound-id=?437
|
|
((lambda (x2173)
|
|
((lambda (e2174)
|
|
(if (annotation?132 e2174)
|
|
(annotation-expression e2174)
|
|
e2174))
|
|
(if (syntax-object?64 x2173)
|
|
(syntax-object-expression65 x2173)
|
|
x2173)))
|
|
i2170)
|
|
(id-marks312 i2170)
|
|
((lambda (x2171)
|
|
((lambda (e2172)
|
|
(if (annotation?132 e2172)
|
|
(annotation-expression e2172)
|
|
e2172))
|
|
(if (syntax-object?64 x2171)
|
|
(syntax-object-expression65 x2171)
|
|
x2171)))
|
|
j2169)
|
|
(id-marks312 j2169))))
|
|
(valid-bound-ids?439 (lambda (ids2165)
|
|
(if ((letrec ((all-ids?2166 (lambda (ids2167)
|
|
((lambda (t2168)
|
|
(if t2168
|
|
t2168
|
|
(if (id?306
|
|
(car ids2167))
|
|
(all-ids?2166
|
|
(cdr ids2167))
|
|
'#f)))
|
|
(null?
|
|
ids2167)))))
|
|
all-ids?2166)
|
|
ids2165)
|
|
(distinct-bound-ids?440 ids2165)
|
|
'#f)))
|
|
(distinct-bound-ids?440 (lambda (ids2161)
|
|
((letrec ((distinct?2162 (lambda (ids2163)
|
|
((lambda (t2164)
|
|
(if t2164
|
|
t2164
|
|
(if (not (bound-id-member?442
|
|
(car ids2163)
|
|
(cdr ids2163)))
|
|
(distinct?2162
|
|
(cdr ids2163))
|
|
'#f)))
|
|
(null?
|
|
ids2163)))))
|
|
distinct?2162)
|
|
ids2161)))
|
|
(invalid-ids-error441 (lambda (ids2157 exp2156 class2155)
|
|
((letrec ((find2158 (lambda (ids2160
|
|
gooduns2159)
|
|
(if (null?
|
|
ids2160)
|
|
(syntax-error
|
|
exp2156)
|
|
(if (id?306
|
|
(car ids2160))
|
|
(if (bound-id-member?442
|
|
(car ids2160)
|
|
gooduns2159)
|
|
(syntax-error
|
|
(car ids2160)
|
|
'"duplicate "
|
|
class2155)
|
|
(find2158
|
|
(cdr ids2160)
|
|
(cons
|
|
(car ids2160)
|
|
gooduns2159)))
|
|
(syntax-error
|
|
(car ids2160)
|
|
'"invalid "
|
|
class2155))))))
|
|
find2158)
|
|
ids2157
|
|
'())))
|
|
(bound-id-member?442 (lambda (x2153 list2152)
|
|
(if (not (null? list2152))
|
|
((lambda (t2154)
|
|
(if t2154
|
|
t2154
|
|
(bound-id-member?442
|
|
x2153
|
|
(cdr list2152))))
|
|
(bound-id=?438
|
|
x2153
|
|
(car list2152)))
|
|
'#f)))
|
|
(wrap443 (lambda (x2151 w2150)
|
|
(if (if (null? (wrap-marks316 w2150))
|
|
(null? (wrap-subst317 w2150))
|
|
'#f)
|
|
x2151
|
|
(if (syntax-object?64 x2151)
|
|
(make-syntax-object63
|
|
(syntax-object-expression65 x2151)
|
|
(join-wraps422
|
|
w2150
|
|
(syntax-object-wrap66 x2151)))
|
|
(if (null? x2151)
|
|
x2151
|
|
(make-syntax-object63 x2151 w2150))))))
|
|
(source-wrap444 (lambda (x2149 w2148 ae2147)
|
|
(wrap443
|
|
(if (annotation?132 ae2147)
|
|
(begin
|
|
(if (not (eq? (annotation-expression
|
|
ae2147)
|
|
x2149))
|
|
(error 'sc-expand
|
|
'"internal error in source-wrap: ae/x mismatch")
|
|
(void))
|
|
ae2147)
|
|
x2149)
|
|
w2148)))
|
|
(chi-when-list445 (lambda (when-list2145 w2144)
|
|
(map (lambda (x2146)
|
|
(if (literal-id=?436
|
|
x2146
|
|
'#(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? tmp-wrap 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 update-import-binding! get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-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=?436
|
|
x2146
|
|
'#(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? tmp-wrap 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 update-import-binding! get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-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=?436
|
|
x2146
|
|
'#(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? tmp-wrap 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 update-import-binding! get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-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=?436
|
|
x2146
|
|
'#(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? tmp-wrap 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 update-import-binding! get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-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=?436
|
|
x2146
|
|
'#(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? tmp-wrap 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 update-import-binding! get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-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
|
|
(wrap443
|
|
x2146
|
|
w2144)
|
|
'"invalid eval-when situation")))))))
|
|
when-list2145)))
|
|
(syntax-type446 (lambda (e2129 r2128 w2127 ae2126 rib2125)
|
|
(if (symbol? e2129)
|
|
((lambda (n2130)
|
|
((lambda (b2131)
|
|
((lambda (type2132)
|
|
((lambda ()
|
|
((lambda (t2133)
|
|
(if (memv
|
|
t2133
|
|
'(macro macro!))
|
|
(syntax-type446
|
|
(chi-macro502
|
|
(binding-value282
|
|
b2131)
|
|
e2129 r2128 w2127
|
|
ae2126 rib2125)
|
|
r2128 '(()) '#f
|
|
rib2125)
|
|
(values type2132
|
|
(binding-value282
|
|
b2131)
|
|
e2129 w2127
|
|
ae2126)))
|
|
type2132))))
|
|
(binding-type281 b2131)))
|
|
(lookup301 n2130 r2128)))
|
|
(id-var-name434 e2129 w2127))
|
|
(if (pair? e2129)
|
|
((lambda (first2134)
|
|
(if (id?306 first2134)
|
|
((lambda (n2135)
|
|
((lambda (b2136)
|
|
((lambda (type2137)
|
|
((lambda ()
|
|
((lambda (t2138)
|
|
(if (memv
|
|
t2138
|
|
'(lexical))
|
|
(values
|
|
'lexical-call
|
|
(binding-value282
|
|
b2136)
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(macro
|
|
macro!))
|
|
(syntax-type446
|
|
(chi-macro502
|
|
(binding-value282
|
|
b2136)
|
|
e2129
|
|
r2128
|
|
w2127
|
|
ae2126
|
|
rib2125)
|
|
r2128
|
|
'(())
|
|
'#f
|
|
rib2125)
|
|
(if (memv
|
|
t2138
|
|
'(core))
|
|
(values
|
|
type2137
|
|
(binding-value282
|
|
b2136)
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(begin))
|
|
(values
|
|
'begin-form
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(alias))
|
|
(values
|
|
'alias-form
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(define))
|
|
(values
|
|
'define-form
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(define-syntax))
|
|
(values
|
|
'define-syntax-form
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(set!))
|
|
(chi-set!501
|
|
e2129
|
|
r2128
|
|
w2127
|
|
ae2126
|
|
rib2125)
|
|
(if (memv
|
|
t2138
|
|
'($module-key))
|
|
(values
|
|
'$module-form
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'($import))
|
|
(values
|
|
'$import-form
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(eval-when))
|
|
(values
|
|
'eval-when-form
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(meta))
|
|
(values
|
|
'meta-form
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(if (memv
|
|
t2138
|
|
'(local-syntax))
|
|
(values
|
|
'local-syntax-form
|
|
(binding-value282
|
|
b2136)
|
|
e2129
|
|
w2127
|
|
ae2126)
|
|
(values
|
|
'call
|
|
'#f
|
|
e2129
|
|
w2127
|
|
ae2126)))))))))))))))
|
|
type2137))))
|
|
(binding-type281
|
|
b2136)))
|
|
(lookup301 n2135 r2128)))
|
|
(id-var-name434
|
|
first2134
|
|
w2127))
|
|
(values 'call '#f e2129 w2127
|
|
ae2126)))
|
|
(car e2129))
|
|
(if (syntax-object?64 e2129)
|
|
(syntax-type446
|
|
(syntax-object-expression65
|
|
e2129)
|
|
r2128
|
|
(join-wraps422
|
|
w2127
|
|
(syntax-object-wrap66 e2129))
|
|
'#f rib2125)
|
|
(if (annotation?132 e2129)
|
|
(syntax-type446
|
|
(annotation-expression
|
|
e2129)
|
|
r2128 w2127 e2129 rib2125)
|
|
(if ((lambda (x2139)
|
|
((lambda (t2140)
|
|
(if t2140
|
|
t2140
|
|
((lambda (t2141)
|
|
(if t2141
|
|
t2141
|
|
((lambda (t2142)
|
|
(if t2142
|
|
t2142
|
|
((lambda (t2143)
|
|
(if t2143
|
|
t2143
|
|
(null?
|
|
x2139)))
|
|
(char?
|
|
x2139))))
|
|
(string?
|
|
x2139))))
|
|
(number?
|
|
x2139))))
|
|
(boolean? x2139)))
|
|
e2129)
|
|
(values 'constant '#f
|
|
e2129 w2127 ae2126)
|
|
(values 'other '#f e2129
|
|
w2127 ae2126))))))))
|
|
(chi-top*447 (lambda (e2120 r2119 w2118 ctem2117 rtem2116
|
|
meta?2115 top-ribcage2114)
|
|
((lambda (meta-residuals2121)
|
|
(letrec ((meta-residualize!2122 (lambda (x2124)
|
|
(set! meta-residuals2121
|
|
(cons
|
|
x2124
|
|
meta-residuals2121)))))
|
|
((lambda (e2123)
|
|
(build-sequence235
|
|
'#f
|
|
(reverse
|
|
(cons e2123 meta-residuals2121))))
|
|
(chi-top449 e2120 r2119 w2118 ctem2117
|
|
rtem2116 meta?2115 top-ribcage2114
|
|
meta-residualize!2122 '#f))))
|
|
'())))
|
|
(chi-top-sequence448 (lambda (body2110 r2109 w2108 ae2107
|
|
ctem2106 rtem2105 meta?2104
|
|
ribcage2103
|
|
meta-residualize!2102)
|
|
(build-sequence235
|
|
ae2107
|
|
((letrec ((dobody2111 (lambda (body2112)
|
|
(if (null?
|
|
body2112)
|
|
'()
|
|
((lambda (first2113)
|
|
(cons
|
|
first2113
|
|
(dobody2111
|
|
(cdr body2112))))
|
|
(chi-top449
|
|
(car body2112)
|
|
r2109
|
|
w2108
|
|
ctem2106
|
|
rtem2105
|
|
meta?2104
|
|
ribcage2103
|
|
meta-residualize!2102
|
|
'#f))))))
|
|
dobody2111)
|
|
body2110))))
|
|
(chi-top449 (lambda (e2047 r2046 w2045 ctem2044 rtem2043
|
|
meta?2042 top-ribcage2041
|
|
meta-residualize!2040 meta-seen?2039)
|
|
(call-with-values
|
|
(lambda ()
|
|
(syntax-type446 e2047 r2046 w2045 '#f
|
|
top-ribcage2041))
|
|
(lambda (type2052 value2051 e2050 w2049 ae2048)
|
|
((lambda (t2053)
|
|
(if (memv t2053 '(begin-form))
|
|
((lambda (forms2054)
|
|
(if (null? forms2054)
|
|
(chi-void518)
|
|
(chi-top-sequence448 forms2054
|
|
r2046 w2049 ae2048 ctem2044
|
|
rtem2043 meta?2042
|
|
top-ribcage2041
|
|
meta-residualize!2040)))
|
|
(parse-begin515
|
|
e2050
|
|
w2049
|
|
ae2048
|
|
'#t))
|
|
(if (memv t2053 '(local-syntax-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(chi-local-syntax517 value2051
|
|
e2050 r2046 r2046 w2049
|
|
ae2048))
|
|
(lambda (forms2059 r2058 mr2057
|
|
w2056 ae2055)
|
|
(chi-top-sequence448 forms2059
|
|
r2058 w2056 ae2055 ctem2044
|
|
rtem2043 meta?2042
|
|
top-ribcage2041
|
|
meta-residualize!2040)))
|
|
(if (memv t2053 '(eval-when-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-eval-when513
|
|
e2050
|
|
w2049
|
|
ae2048))
|
|
(lambda (when-list2061
|
|
forms2060)
|
|
((lambda (ctem2063
|
|
rtem2062)
|
|
(if (if (null?
|
|
ctem2063)
|
|
(null?
|
|
rtem2062)
|
|
'#f)
|
|
(chi-void518)
|
|
(chi-top-sequence448
|
|
forms2060 r2046
|
|
w2049 ae2048
|
|
ctem2063 rtem2062
|
|
meta?2042
|
|
top-ribcage2041
|
|
meta-residualize!2040)))
|
|
(update-mode-set490
|
|
when-list2061
|
|
ctem2044)
|
|
(update-mode-set490
|
|
when-list2061
|
|
rtem2043))))
|
|
(if (memv t2053 '(meta-form))
|
|
(chi-top449
|
|
(parse-meta512
|
|
e2050
|
|
w2049
|
|
ae2048)
|
|
r2046 w2049 ctem2044
|
|
rtem2043 '#t
|
|
top-ribcage2041
|
|
meta-residualize!2040
|
|
'#t)
|
|
(if (memv
|
|
t2053
|
|
'(define-syntax-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-define-syntax511
|
|
e2050
|
|
w2049
|
|
ae2048))
|
|
(lambda (id2066
|
|
rhs2065
|
|
w2064)
|
|
((lambda (id2067)
|
|
(begin
|
|
(if (displaced-lexical?298
|
|
id2067
|
|
r2046)
|
|
(displaced-lexical-error299
|
|
id2067)
|
|
(void))
|
|
(if (not (top-ribcage-mutable?376
|
|
top-ribcage2041))
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2064
|
|
ae2048)
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
((lambda (sym2068)
|
|
(call-with-values
|
|
(lambda ()
|
|
(top-id-bound-var-name429
|
|
sym2068
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
id2067))
|
|
top-ribcage2041))
|
|
(lambda (valsym2070
|
|
bound-id2069)
|
|
(begin
|
|
(if (not (eq? (id-var-name434
|
|
id2067
|
|
'(()))
|
|
valsym2070))
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2064
|
|
ae2048)
|
|
'"definition not permitted")
|
|
(void))
|
|
(if (read-only-binding?140
|
|
valsym2070)
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2064
|
|
ae2048)
|
|
'"invalid definition of read-only identifier")
|
|
(void))
|
|
(ct-eval/residualize2493
|
|
ctem2044
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
bound-id2069)
|
|
(chi498
|
|
rhs2065
|
|
r2046
|
|
r2046
|
|
w2064
|
|
'#t)
|
|
(list
|
|
'quote
|
|
(top-ribcage-key375
|
|
top-ribcage2041)))))))))
|
|
((lambda (x2071)
|
|
((lambda (e2072)
|
|
(if (annotation?132
|
|
e2072)
|
|
(annotation-expression
|
|
e2072)
|
|
e2072))
|
|
(if (syntax-object?64
|
|
x2071)
|
|
(syntax-object-expression65
|
|
x2071)
|
|
x2071)))
|
|
id2067))))
|
|
(wrap443
|
|
id2066
|
|
w2064))))
|
|
(if (memv
|
|
t2053
|
|
'(define-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-define510
|
|
e2050
|
|
w2049
|
|
ae2048))
|
|
(lambda (id2075
|
|
rhs2074
|
|
w2073)
|
|
((lambda (id2076)
|
|
(begin
|
|
(if (displaced-lexical?298
|
|
id2076
|
|
r2046)
|
|
(displaced-lexical-error299
|
|
id2076)
|
|
(void))
|
|
(if (not (top-ribcage-mutable?376
|
|
top-ribcage2041))
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2073
|
|
ae2048)
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
((lambda (sym2077)
|
|
(call-with-values
|
|
(lambda ()
|
|
(top-id-bound-var-name429
|
|
sym2077
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
id2076))
|
|
top-ribcage2041))
|
|
(lambda (valsym2079
|
|
bound-id2078)
|
|
(begin
|
|
(if (not (eq? (id-var-name434
|
|
id2076
|
|
'(()))
|
|
valsym2079))
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2073
|
|
ae2048)
|
|
'"definition not permitted")
|
|
(void))
|
|
(if (read-only-binding?140
|
|
valsym2079)
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2073
|
|
ae2048)
|
|
'"invalid definition of read-only identifier")
|
|
(void))
|
|
(if meta?2042
|
|
(ct-eval/residualize2493
|
|
ctem2044
|
|
(lambda ()
|
|
(build-sequence235
|
|
'#f
|
|
(list
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
bound-id2078)
|
|
(list
|
|
'quote
|
|
(cons
|
|
'meta-variable
|
|
valsym2079))
|
|
(list
|
|
'quote
|
|
(top-ribcage-key375
|
|
top-ribcage2041)))
|
|
(list
|
|
'define
|
|
valsym2079
|
|
(chi498
|
|
rhs2074
|
|
r2046
|
|
r2046
|
|
w2073
|
|
'#t))))))
|
|
((lambda (x2080)
|
|
(build-sequence235
|
|
'#f
|
|
(list
|
|
x2080
|
|
(rt-eval/residualize492
|
|
rtem2043
|
|
(lambda ()
|
|
(list
|
|
'define
|
|
valsym2079
|
|
(chi498
|
|
rhs2074
|
|
r2046
|
|
r2046
|
|
w2073
|
|
'#f)))))))
|
|
(ct-eval/residualize2493
|
|
ctem2044
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
bound-id2078)
|
|
(list
|
|
'quote
|
|
(cons
|
|
'global
|
|
valsym2079))
|
|
(list
|
|
'quote
|
|
(top-ribcage-key375
|
|
top-ribcage2041)))))))))))
|
|
((lambda (x2081)
|
|
((lambda (e2082)
|
|
(if (annotation?132
|
|
e2082)
|
|
(annotation-expression
|
|
e2082)
|
|
e2082))
|
|
(if (syntax-object?64
|
|
x2081)
|
|
(syntax-object-expression65
|
|
x2081)
|
|
x2081)))
|
|
id2076))))
|
|
(wrap443
|
|
id2075
|
|
w2073))))
|
|
(if (memv
|
|
t2053
|
|
'($module-form))
|
|
((lambda (ribcage2083)
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-module508
|
|
e2050
|
|
w2049
|
|
ae2048
|
|
(make-wrap315
|
|
(wrap-marks316
|
|
w2049)
|
|
(cons
|
|
ribcage2083
|
|
(wrap-subst317
|
|
w2049)))))
|
|
(lambda (orig2087
|
|
id2086
|
|
exports2085
|
|
forms2084)
|
|
(begin
|
|
(if (displaced-lexical?298
|
|
id2086
|
|
r2046)
|
|
(displaced-lexical-error299
|
|
(wrap443
|
|
id2086
|
|
w2049))
|
|
(void))
|
|
(if (not (top-ribcage-mutable?376
|
|
top-ribcage2041))
|
|
(syntax-error
|
|
orig2087
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
(chi-top-module482
|
|
orig2087
|
|
r2046
|
|
r2046
|
|
top-ribcage2041
|
|
ribcage2083
|
|
ctem2044
|
|
rtem2043
|
|
meta?2042
|
|
id2086
|
|
exports2085
|
|
forms2084
|
|
meta-residualize!2040)))))
|
|
(make-ribcage365
|
|
'()
|
|
'()
|
|
'()))
|
|
(if (memv
|
|
t2053
|
|
'($import-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-import509
|
|
e2050
|
|
w2049
|
|
ae2048))
|
|
(lambda (orig2090
|
|
only?2089
|
|
mid2088)
|
|
(begin
|
|
(if (not (top-ribcage-mutable?376
|
|
top-ribcage2041))
|
|
(syntax-error
|
|
orig2090
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
(ct-eval/residualize2493
|
|
ctem2044
|
|
(lambda ()
|
|
((lambda (binding2091)
|
|
((lambda (t2092)
|
|
(if (memv
|
|
t2092
|
|
'($module))
|
|
(do-top-import489
|
|
only?2089
|
|
top-ribcage2041
|
|
mid2088
|
|
(interface-token455
|
|
(binding-value282
|
|
binding2091)))
|
|
(if (memv
|
|
t2092
|
|
'(displaced-lexical))
|
|
(displaced-lexical-error299
|
|
mid2088)
|
|
(syntax-error
|
|
mid2088
|
|
'"unknown module"))))
|
|
(binding-type281
|
|
binding2091)))
|
|
(lookup301
|
|
(id-var-name434
|
|
mid2088
|
|
'(()))
|
|
'())))))))
|
|
(if (memv
|
|
t2053
|
|
'(alias-form))
|
|
(call-with-values
|
|
(lambda ()
|
|
(parse-alias514
|
|
e2050
|
|
w2049
|
|
ae2048))
|
|
(lambda (new-id2094
|
|
old-id2093)
|
|
((lambda (new-id2095)
|
|
(begin
|
|
(if (displaced-lexical?298
|
|
new-id2095
|
|
r2046)
|
|
(displaced-lexical-error299
|
|
new-id2095)
|
|
(void))
|
|
(if (not (top-ribcage-mutable?376
|
|
top-ribcage2041))
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2049
|
|
ae2048)
|
|
'"invalid definition in read-only environment")
|
|
(void))
|
|
((lambda (sym2096)
|
|
(call-with-values
|
|
(lambda ()
|
|
(top-id-bound-var-name429
|
|
sym2096
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
new-id2095))
|
|
top-ribcage2041))
|
|
(lambda (valsym2098
|
|
bound-id2097)
|
|
(begin
|
|
(if (not (eq? (id-var-name434
|
|
new-id2095
|
|
'(()))
|
|
valsym2098))
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2049
|
|
ae2048)
|
|
'"definition not permitted")
|
|
(void))
|
|
(if (read-only-binding?140
|
|
valsym2098)
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2049
|
|
ae2048)
|
|
'"invalid definition of read-only identifier")
|
|
(void))
|
|
(ct-eval/residualize2493
|
|
ctem2044
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
(make-resolved-id418
|
|
sym2096
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
new-id2095))
|
|
(id-var-name434
|
|
old-id2093
|
|
w2049)))
|
|
(list
|
|
'quote
|
|
'(do-alias
|
|
.
|
|
#f))
|
|
(list
|
|
'quote
|
|
(top-ribcage-key375
|
|
top-ribcage2041)))))))))
|
|
((lambda (x2099)
|
|
((lambda (e2100)
|
|
(if (annotation?132
|
|
e2100)
|
|
(annotation-expression
|
|
e2100)
|
|
e2100))
|
|
(if (syntax-object?64
|
|
x2099)
|
|
(syntax-object-expression65
|
|
x2099)
|
|
x2099)))
|
|
new-id2095))))
|
|
(wrap443
|
|
new-id2094
|
|
w2049))))
|
|
(begin
|
|
(if meta-seen?2039
|
|
(syntax-error
|
|
(source-wrap444
|
|
e2050
|
|
w2049
|
|
ae2048)
|
|
'"invalid meta definition")
|
|
(void))
|
|
(if meta?2042
|
|
((lambda (x2101)
|
|
(begin
|
|
(top-level-eval-hook133
|
|
x2101)
|
|
(ct-eval/residualize3494
|
|
ctem2044
|
|
void
|
|
(lambda ()
|
|
x2101))))
|
|
(chi-expr499
|
|
type2052
|
|
value2051
|
|
e2050
|
|
r2046
|
|
r2046
|
|
w2049
|
|
ae2048
|
|
'#t))
|
|
(rt-eval/residualize492
|
|
rtem2043
|
|
(lambda ()
|
|
(chi-expr499
|
|
type2052
|
|
value2051
|
|
e2050
|
|
r2046
|
|
r2046
|
|
w2049
|
|
ae2048
|
|
'#f)))))))))))))))
|
|
type2052)))))
|
|
(flatten-exports450 (lambda (exports2035)
|
|
((letrec ((loop2036 (lambda (exports2038
|
|
ls2037)
|
|
(if (null?
|
|
exports2038)
|
|
ls2037
|
|
(loop2036
|
|
(cdr exports2038)
|
|
(if (pair?
|
|
(car exports2038))
|
|
(loop2036
|
|
(car exports2038)
|
|
ls2037)
|
|
(cons
|
|
(car exports2038)
|
|
ls2037)))))))
|
|
loop2036)
|
|
exports2035
|
|
'())))
|
|
(make-interface451 (lambda (marks2034 exports2033 token2032)
|
|
(vector
|
|
'interface
|
|
marks2034
|
|
exports2033
|
|
token2032)))
|
|
(interface?452 (lambda (x2031)
|
|
(if (vector? x2031)
|
|
(if (= (vector-length x2031) '4)
|
|
(eq? (vector-ref x2031 '0) 'interface)
|
|
'#f)
|
|
'#f)))
|
|
(interface-marks453 (lambda (x2030) (vector-ref x2030 '1)))
|
|
(interface-exports454 (lambda (x2029)
|
|
(vector-ref x2029 '2)))
|
|
(interface-token455 (lambda (x2028) (vector-ref x2028 '3)))
|
|
(set-interface-marks!456 (lambda (x2027 update2026)
|
|
(vector-set! x2027 '1 update2026)))
|
|
(set-interface-exports!457 (lambda (x2025 update2024)
|
|
(vector-set!
|
|
x2025
|
|
'2
|
|
update2024)))
|
|
(set-interface-token!458 (lambda (x2023 update2022)
|
|
(vector-set! x2023 '3 update2022)))
|
|
(make-unresolved-interface459 (lambda (mid2020 exports2019)
|
|
(make-interface451
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
mid2020))
|
|
(list->vector
|
|
(map (lambda (x2021)
|
|
(if (pair? x2021)
|
|
(car x2021)
|
|
x2021))
|
|
exports2019))
|
|
'#f)))
|
|
(make-resolved-interface460 (lambda (mid2017 exports2016
|
|
token2015)
|
|
(make-interface451
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
mid2017))
|
|
(list->vector
|
|
(map (lambda (x2018)
|
|
(id->resolved-id419
|
|
(if (pair? x2018)
|
|
(car x2018)
|
|
x2018)))
|
|
exports2016))
|
|
token2015)))
|
|
(make-module-binding461 (lambda (type2014 id2013 label2012
|
|
imps2011 val2010 exported2009)
|
|
(vector 'module-binding type2014
|
|
id2013 label2012 imps2011 val2010
|
|
exported2009)))
|
|
(module-binding?462 (lambda (x2008)
|
|
(if (vector? x2008)
|
|
(if (= (vector-length x2008) '7)
|
|
(eq? (vector-ref x2008 '0)
|
|
'module-binding)
|
|
'#f)
|
|
'#f)))
|
|
(module-binding-type463 (lambda (x2007)
|
|
(vector-ref x2007 '1)))
|
|
(module-binding-id464 (lambda (x2006)
|
|
(vector-ref x2006 '2)))
|
|
(module-binding-label465 (lambda (x2005)
|
|
(vector-ref x2005 '3)))
|
|
(module-binding-imps466 (lambda (x2004)
|
|
(vector-ref x2004 '4)))
|
|
(module-binding-val467 (lambda (x2003)
|
|
(vector-ref x2003 '5)))
|
|
(module-binding-exported468 (lambda (x2002)
|
|
(vector-ref x2002 '6)))
|
|
(set-module-binding-type!469 (lambda (x2001 update2000)
|
|
(vector-set!
|
|
x2001
|
|
'1
|
|
update2000)))
|
|
(set-module-binding-id!470 (lambda (x1999 update1998)
|
|
(vector-set!
|
|
x1999
|
|
'2
|
|
update1998)))
|
|
(set-module-binding-label!471 (lambda (x1997 update1996)
|
|
(vector-set!
|
|
x1997
|
|
'3
|
|
update1996)))
|
|
(set-module-binding-imps!472 (lambda (x1995 update1994)
|
|
(vector-set!
|
|
x1995
|
|
'4
|
|
update1994)))
|
|
(set-module-binding-val!473 (lambda (x1993 update1992)
|
|
(vector-set!
|
|
x1993
|
|
'5
|
|
update1992)))
|
|
(set-module-binding-exported!474 (lambda (x1991 update1990)
|
|
(vector-set!
|
|
x1991
|
|
'6
|
|
update1990)))
|
|
(create-module-binding475 (lambda (type1989 id1988 label1987
|
|
imps1986 val1985)
|
|
(make-module-binding461 type1989
|
|
id1988 label1987 imps1986 val1985
|
|
'#f)))
|
|
(make-frob476 (lambda (e1984 meta?1983)
|
|
(vector 'frob e1984 meta?1983)))
|
|
(frob?477 (lambda (x1982)
|
|
(if (vector? x1982)
|
|
(if (= (vector-length x1982) '3)
|
|
(eq? (vector-ref x1982 '0) 'frob)
|
|
'#f)
|
|
'#f)))
|
|
(frob-e478 (lambda (x1981) (vector-ref x1981 '1)))
|
|
(frob-meta?479 (lambda (x1980) (vector-ref x1980 '2)))
|
|
(set-frob-e!480 (lambda (x1979 update1978)
|
|
(vector-set! x1979 '1 update1978)))
|
|
(set-frob-meta?!481 (lambda (x1977 update1976)
|
|
(vector-set! x1977 '2 update1976)))
|
|
(chi-top-module482 (lambda (orig1917 r1916 mr1915
|
|
top-ribcage1914 ribcage1913
|
|
ctem1912 rtem1911 meta?1910 id1909
|
|
exports1908 forms1907
|
|
meta-residualize!1906)
|
|
((lambda (fexports1918)
|
|
(call-with-values
|
|
(lambda ()
|
|
(chi-external486 ribcage1913
|
|
orig1917
|
|
(map (lambda (d1975)
|
|
(make-frob476
|
|
d1975
|
|
meta?1910))
|
|
forms1907)
|
|
r1916 mr1915 ctem1912 exports1908
|
|
fexports1918
|
|
meta-residualize!1906))
|
|
(lambda (r1922 mr1921 bindings1920
|
|
inits1919)
|
|
((letrec ((process-exports1923 (lambda (fexports1925
|
|
ctdefs1924)
|
|
(if (null?
|
|
fexports1925)
|
|
((letrec ((process-locals1926 (lambda (bs1931
|
|
r1930
|
|
dts1929
|
|
dvs1928
|
|
des1927)
|
|
(if (null?
|
|
bs1931)
|
|
((lambda (des1933
|
|
inits1932)
|
|
(build-sequence235
|
|
'#f
|
|
(append
|
|
(ctdefs1924)
|
|
(list
|
|
(ct-eval/residualize2493
|
|
ctem1912
|
|
(lambda ()
|
|
((lambda (sym1934)
|
|
((lambda (token1935)
|
|
((lambda (b1936)
|
|
((lambda ()
|
|
(call-with-values
|
|
(lambda ()
|
|
(top-id-bound-var-name429
|
|
sym1934
|
|
(wrap-marks316
|
|
(syntax-object-wrap66
|
|
id1909))
|
|
top-ribcage1914))
|
|
(lambda (valsym1938
|
|
bound-id1937)
|
|
(begin
|
|
(if (not (eq? (id-var-name434
|
|
id1909
|
|
'(()))
|
|
valsym1938))
|
|
(syntax-error
|
|
orig1917
|
|
'"definition not permitted")
|
|
(void))
|
|
(if (read-only-binding?140
|
|
valsym1938)
|
|
(syntax-error
|
|
orig1917
|
|
'"invalid definition of read-only identifier")
|
|
(void))
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
bound-id1937)
|
|
b1936
|
|
(list
|
|
'quote
|
|
(top-ribcage-key375
|
|
top-ribcage1914)))))))))
|
|
(list
|
|
'quote
|
|
(cons
|
|
'$module
|
|
(make-resolved-interface460
|
|
id1909
|
|
exports1908
|
|
token1935)))))
|
|
(generate-id143
|
|
sym1934)))
|
|
((lambda (x1939)
|
|
((lambda (e1940)
|
|
(if (annotation?132
|
|
e1940)
|
|
(annotation-expression
|
|
e1940)
|
|
e1940))
|
|
(if (syntax-object?64
|
|
x1939)
|
|
(syntax-object-expression65
|
|
x1939)
|
|
x1939)))
|
|
id1909))))
|
|
(rt-eval/residualize492
|
|
rtem1911
|
|
(lambda ()
|
|
(build-top-module238
|
|
'#f
|
|
dts1929
|
|
dvs1928
|
|
des1933
|
|
(if (null?
|
|
inits1932)
|
|
(chi-void518)
|
|
(build-sequence235
|
|
'#f
|
|
(append
|
|
inits1932
|
|
(list
|
|
(chi-void518))))))))))))
|
|
(chi-frobs495
|
|
des1927
|
|
r1930
|
|
mr1921
|
|
'#f)
|
|
(chi-frobs495
|
|
inits1919
|
|
r1930
|
|
mr1921
|
|
'#f))
|
|
((lambda (b1942
|
|
bs1941)
|
|
((lambda (t1943)
|
|
((lambda (t1944)
|
|
(if (memv
|
|
t1944
|
|
'(define-form))
|
|
((lambda (label1945)
|
|
(if (module-binding-exported468
|
|
b1942)
|
|
((lambda (var1946)
|
|
(process-locals1926
|
|
bs1941
|
|
r1930
|
|
(cons
|
|
'global
|
|
dts1929)
|
|
(cons
|
|
label1945
|
|
dvs1928)
|
|
(cons
|
|
(module-binding-val467
|
|
b1942)
|
|
des1927)))
|
|
(module-binding-id464
|
|
b1942))
|
|
((lambda (var1947)
|
|
(process-locals1926
|
|
bs1941
|
|
(extend-env295
|
|
label1945
|
|
(cons
|
|
'lexical
|
|
var1947)
|
|
r1930)
|
|
(cons
|
|
'local
|
|
dts1929)
|
|
(cons
|
|
var1947
|
|
dvs1928)
|
|
(cons
|
|
(module-binding-val467
|
|
b1942)
|
|
des1927)))
|
|
(gen-var523
|
|
(module-binding-id464
|
|
b1942)))))
|
|
(get-indirect-label360
|
|
(module-binding-label465
|
|
b1942)))
|
|
(if (memv
|
|
t1944
|
|
'(ctdefine-form
|
|
define-syntax-form
|
|
$module-form
|
|
alias-form))
|
|
(process-locals1926
|
|
bs1941
|
|
r1930
|
|
dts1929
|
|
dvs1928
|
|
des1927)
|
|
(error 'sc-expand-internal
|
|
'"unexpected module binding type ~s"
|
|
t1943))))
|
|
(module-binding-type463
|
|
b1942)))
|
|
(module-binding-type463
|
|
b1942)))
|
|
(car bs1931)
|
|
(cdr bs1931))))))
|
|
process-locals1926)
|
|
bindings1920
|
|
r1922
|
|
'()
|
|
'()
|
|
'())
|
|
((lambda (id1949
|
|
fexports1948)
|
|
((letrec ((loop1950 (lambda (bs1951)
|
|
(if (null?
|
|
bs1951)
|
|
(process-exports1923
|
|
fexports1948
|
|
ctdefs1924)
|
|
((lambda (b1953
|
|
bs1952)
|
|
(if (free-id=?435
|
|
(module-binding-id464
|
|
b1953)
|
|
id1949)
|
|
(if (module-binding-exported468
|
|
b1953)
|
|
(process-exports1923
|
|
fexports1948
|
|
ctdefs1924)
|
|
((lambda (t1954)
|
|
((lambda (label1955)
|
|
((lambda (imps1956)
|
|
((lambda (fexports1957)
|
|
((lambda ()
|
|
(begin
|
|
(set-module-binding-exported!474
|
|
b1953
|
|
'#t)
|
|
((lambda (t1958)
|
|
(if (memv
|
|
t1958
|
|
'(define-form))
|
|
((lambda (sym1959)
|
|
(begin
|
|
(set-indirect-label!361
|
|
label1955
|
|
sym1959)
|
|
(process-exports1923
|
|
fexports1957
|
|
ctdefs1924)))
|
|
(generate-id143
|
|
((lambda (x1960)
|
|
((lambda (e1961)
|
|
(if (annotation?132
|
|
e1961)
|
|
(annotation-expression
|
|
e1961)
|
|
e1961))
|
|
(if (syntax-object?64
|
|
x1960)
|
|
(syntax-object-expression65
|
|
x1960)
|
|
x1960)))
|
|
id1949)))
|
|
(if (memv
|
|
t1958
|
|
'(ctdefine-form))
|
|
((lambda (b1962)
|
|
(process-exports1923
|
|
fexports1957
|
|
(lambda ()
|
|
((lambda (sym1963)
|
|
(begin
|
|
(set-indirect-label!361
|
|
label1955
|
|
sym1963)
|
|
(cons
|
|
(ct-eval/residualize3494
|
|
ctem1912
|
|
(lambda ()
|
|
(put-cte-hook137
|
|
sym1963
|
|
b1962))
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
sym1963)
|
|
(list
|
|
'quote
|
|
b1962)
|
|
(list
|
|
'quote
|
|
'#f))))
|
|
(ctdefs1924))))
|
|
(binding-value282
|
|
b1962)))))
|
|
(module-binding-val467
|
|
b1953))
|
|
(if (memv
|
|
t1958
|
|
'(define-syntax-form))
|
|
((lambda (sym1964)
|
|
(process-exports1923
|
|
fexports1957
|
|
(lambda ()
|
|
((lambda (local-label1965)
|
|
(begin
|
|
(set-indirect-label!361
|
|
label1955
|
|
sym1964)
|
|
(cons
|
|
(ct-eval/residualize3494
|
|
ctem1912
|
|
(lambda ()
|
|
(put-cte-hook137
|
|
sym1964
|
|
(car (module-binding-val467
|
|
b1953))))
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
sym1964)
|
|
(cdr (module-binding-val467
|
|
b1953))
|
|
(list
|
|
'quote
|
|
'#f))))
|
|
(ctdefs1924))))
|
|
(get-indirect-label360
|
|
label1955)))))
|
|
(generate-id143
|
|
((lambda (x1966)
|
|
((lambda (e1967)
|
|
(if (annotation?132
|
|
e1967)
|
|
(annotation-expression
|
|
e1967)
|
|
e1967))
|
|
(if (syntax-object?64
|
|
x1966)
|
|
(syntax-object-expression65
|
|
x1966)
|
|
x1966)))
|
|
id1949)))
|
|
(if (memv
|
|
t1958
|
|
'($module-form))
|
|
((lambda (sym1969
|
|
exports1968)
|
|
(process-exports1923
|
|
(append
|
|
(flatten-exports450
|
|
exports1968)
|
|
fexports1957)
|
|
(lambda ()
|
|
(begin
|
|
(set-indirect-label!361
|
|
label1955
|
|
sym1969)
|
|
((lambda (rest1970)
|
|
((lambda (x1971)
|
|
(cons
|
|
(ct-eval/residualize3494
|
|
ctem1912
|
|
(lambda ()
|
|
(put-cte-hook137
|
|
sym1969
|
|
x1971))
|
|
(lambda ()
|
|
(list
|
|
'$sc-put-cte
|
|
(list
|
|
'quote
|
|
sym1969)
|
|
(list
|
|
'quote
|
|
x1971)
|
|
(list
|
|
'quote
|
|
'#f))))
|
|
rest1970))
|
|
(cons
|
|
'$module
|
|
(make-resolved-interface460
|
|
id1949
|
|
exports1968
|
|
sym1969))))
|
|
(ctdefs1924))))))
|
|
(generate-id143
|
|
((lambda (x1972)
|
|
((lambda (e1973)
|
|
(if (annotation?132
|
|
e1973)
|
|
(annotation-expression
|
|
e1973)
|
|
e1973))
|
|
(if (syntax-object?64
|
|
x1972)
|
|
(syntax-object-expression65
|
|
x1972)
|
|
x1972)))
|
|
id1949))
|
|
(module-binding-val467
|
|
b1953))
|
|
(if (memv
|
|
t1958
|
|
'(alias-form))
|
|
(process-exports1923
|
|
fexports1957
|
|
(lambda ()
|
|
((lambda (rest1974)
|
|
(begin
|
|
(if (indirect-label?356
|
|
label1955)
|
|
(if (not (symbol?
|
|
(get-indirect-label360
|
|
label1955)))
|
|
(syntax-error
|
|
(module-binding-id464
|
|
b1953)
|
|
'"unexported target of alias")
|
|
(void))
|
|
(void))
|
|
rest1974))
|
|
(ctdefs1924))))
|
|
(error 'sc-expand-internal
|
|
'"unexpected module binding type ~s"
|
|
t1954)))))))
|
|
t1954)))))
|
|
(append
|
|
imps1956
|
|
fexports1948)))
|
|
(module-binding-imps466
|
|
b1953)))
|
|
(module-binding-label465
|
|
b1953)))
|
|
(module-binding-type463
|
|
b1953)))
|
|
(loop1950
|
|
bs1952)))
|
|
(car bs1951)
|
|
(cdr bs1951))))))
|
|
loop1950)
|
|
bindings1920))
|
|
(car fexports1925)
|
|
(cdr fexports1925))))))
|
|
process-exports1923)
|
|
fexports1918
|
|
(lambda () '())))))
|
|
(flatten-exports450 exports1908))))
|
|
(id-set-diff483 (lambda (exports1905 defs1904)
|
|
(if (null? exports1905)
|
|
'()
|
|
(if (bound-id-member?442
|
|
(car exports1905)
|
|
defs1904)
|
|
(id-set-diff483
|
|
(cdr exports1905)
|
|
defs1904)
|
|
(cons
|
|
(car exports1905)
|
|
(id-set-diff483
|
|
(cdr exports1905)
|
|
defs1904))))))
|
|
(check-module-exports484 (lambda (source-exp1879
|
|
fexports1878 ids1877)
|
|
(letrec ((defined?1880 (lambda (e1887
|
|
ids1886)
|
|
(ormap
|
|
(lambda (x1888)
|
|
(if (import-interface?380
|
|
x1888)
|
|
((lambda (x.iface1890
|
|
x.new-marks1889)
|
|
((lambda (t1891)
|
|
(if t1891
|
|
((lambda (token1892)
|
|
(lookup-import-binding-name415
|
|
((lambda (x1893)
|
|
((lambda (e1894)
|
|
(if (annotation?132
|
|
e1894)
|
|
(annotation-expression
|
|
e1894)
|
|
e1894))
|
|
(if (syntax-object?64
|
|
x1893)
|
|
(syntax-object-expression65
|
|
x1893)
|
|
x1893)))
|
|
e1887)
|
|
(id-marks312
|
|
e1887)
|
|
token1892
|
|
x.new-marks1889))
|
|
t1891)
|
|
((lambda (v1895)
|
|
((letrec ((lp1896 (lambda (i1897)
|
|
(if (>= i1897
|
|
'0)
|
|
((lambda (t1898)
|
|
(if t1898
|
|
t1898
|
|
(lp1896
|
|
(- i1897
|
|
'1))))
|
|
((lambda (id1899)
|
|
(help-bound-id=?437
|
|
((lambda (x1902)
|
|
((lambda (e1903)
|
|
(if (annotation?132
|
|
e1903)
|
|
(annotation-expression
|
|
e1903)
|
|
e1903))
|
|
(if (syntax-object?64
|
|
x1902)
|
|
(syntax-object-expression65
|
|
x1902)
|
|
x1902)))
|
|
id1899)
|
|
(join-marks423
|
|
x.new-marks1889
|
|
(id-marks312
|
|
id1899))
|
|
((lambda (x1900)
|
|
((lambda (e1901)
|
|
(if (annotation?132
|
|
e1901)
|
|
(annotation-expression
|
|
e1901)
|
|
e1901))
|
|
(if (syntax-object?64
|
|
x1900)
|
|
(syntax-object-expression65
|
|
x1900)
|
|
x1900)))
|
|
e1887)
|
|
(id-marks312
|
|
e1887)))
|
|
(vector-ref
|
|
v1895
|
|
i1897)))
|
|
'#f))))
|
|
lp1896)
|
|
(- (vector-length
|
|
v1895)
|
|
'1)))
|
|
(interface-exports454
|
|
x.iface1890))))
|
|
(interface-token455
|
|
x.iface1890)))
|
|
(import-interface-interface381
|
|
x1888)
|
|
(import-interface-new-marks382
|
|
x1888))
|
|
(bound-id=?438
|
|
e1887
|
|
x1888)))
|
|
ids1886))))
|
|
((letrec ((loop1881 (lambda (fexports1883
|
|
|