upscheme/scheme-lib/psyntax-expanded.scm

10859 lines
1.3 MiB
Scheme
Raw Permalink Normal View History

;;; 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)