;;; psyntax.pp ;;; automatically generated from psyntax.ss ;;; Fri Sep 2 14:55:14 EST 2005 ;;; see copyright notice in psyntax.ss ((lambda () (letrec ((noexpand62 '"noexpand") (make-syntax-object63 (lambda (expression2516 wrap2515) (vector 'syntax-object expression2516 wrap2515))) (syntax-object?64 (lambda (x2514) (if (vector? x2514) (if (= (vector-length x2514) '3) (eq? (vector-ref x2514 '0) 'syntax-object) '#f) '#f))) (syntax-object-expression65 (lambda (x2513) (vector-ref x2513 '1))) (syntax-object-wrap66 (lambda (x2512) (vector-ref x2512 '2))) (set-syntax-object-expression!67 (lambda (x2511 update2510) (vector-set! x2511 '1 update2510))) (set-syntax-object-wrap!68 (lambda (x2509 update2508) (vector-set! x2509 '2 update2508))) (annotation?132 (lambda (x2507) '#f)) (top-level-eval-hook133 (lambda (x2506) (eval (list noexpand62 x2506)))) (local-eval-hook134 (lambda (x2505) (eval (list noexpand62 x2505)))) (define-top-level-value-hook135 (lambda (sym2504 val2503) (top-level-eval-hook133 (list 'define sym2504 (list 'quote val2503))))) (error-hook136 (lambda (who2502 why2501 what2500) (error who2502 '"~a ~s" why2501 what2500))) (put-cte-hook141 (lambda (symbol2499 val2498) ($sc-put-cte symbol2499 val2498 '*top*))) (get-global-definition-hook142 (lambda (symbol2497) (getprop symbol2497 '*sc-expander*))) (put-global-definition-hook143 (lambda (symbol2496 x2495) (if (not x2495) (remprop symbol2496 '*sc-expander*) (putprop symbol2496 '*sc-expander* x2495)))) (read-only-binding?144 (lambda (symbol2494) '#f)) (get-import-binding145 (lambda (symbol2493 token2492) (getprop symbol2493 token2492))) (put-import-binding146 (lambda (symbol2491 token2490 x2489) (if (not x2489) (remprop symbol2491 token2490) (putprop symbol2491 token2490 x2489)))) (generate-id147 ((lambda (digits2475) ((lambda (base2477 session-key2476) (letrec ((make-digit2478 (lambda (x2488) (string-ref digits2475 x2488))) (fmt2479 (lambda (n2482) ((letrec ((fmt2483 (lambda (n2485 a2484) (if (< n2485 base2477) (list->string (cons (make-digit2478 n2485) a2484)) ((lambda (r2487 rest2486) (fmt2483 rest2486 (cons (make-digit2478 r2487) a2484))) (modulo n2485 base2477) (quotient n2485 base2477)))))) fmt2483) n2482 '())))) ((lambda (n2480) (lambda (name2481) (begin (set! n2480 (+ n2480 '1)) (string->symbol (string-append session-key2476 (fmt2479 n2480)))))) '-1))) (string-length digits2475) '"_")) '"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!$%&*/:<=>?~_^.+-")) (built-lambda?221 (lambda (x2474) (if (pair? x2474) (eq? (car x2474) 'lambda) '#f))) (build-sequence239 (lambda (ae2471 exps2470) ((letrec ((loop2472 (lambda (exps2473) (if (null? (cdr exps2473)) (car exps2473) (if (equal? (car exps2473) '(void)) (loop2472 (cdr exps2473)) (cons 'begin exps2473)))))) loop2472) exps2470))) (build-letrec240 (lambda (ae2469 vars2468 val-exps2467 body-exp2466) (if (null? vars2468) body-exp2466 (list 'letrec (map list vars2468 val-exps2467) body-exp2466)))) (build-body241 (lambda (ae2465 vars2464 val-exps2463 body-exp2462) (build-letrec240 ae2465 vars2464 val-exps2463 body-exp2462))) (build-top-module242 (lambda (ae2450 types2449 vars2448 val-exps2447 body-exp2446) (call-with-values (lambda () ((letrec ((f2454 (lambda (types2456 vars2455) (if (null? types2456) (values '() '() '()) ((lambda (var2457) (call-with-values (lambda () (f2454 (cdr types2456) (cdr vars2455))) (lambda (vars2460 defns2459 sets2458) (if (eq? (car types2456) 'global) ((lambda (x2461) (values (cons x2461 vars2460) (cons (list 'define var2457 (chi-void513)) defns2459) (cons (list 'set! var2457 x2461) sets2458))) (gensym)) (values (cons var2457 vars2460) defns2459 sets2458))))) (car vars2455)))))) f2454) types2449 vars2448)) (lambda (vars2453 defns2452 sets2451) (if (null? defns2452) (build-letrec240 ae2450 vars2453 val-exps2447 body-exp2446) (build-sequence239 '#f (append defns2452 (list (build-letrec240 ae2450 vars2453 val-exps2447 (build-sequence239 '#f (append sets2451 (list body-exp2446)))))))))))) (sanitize-binding275 (lambda (b2442) (if (procedure? b2442) (cons 'macro b2442) (if (binding?289 b2442) (if ((lambda (t2443) (if (memv t2443 '(core macro macro! deferred)) (procedure? (binding-value286 b2442)) (if (memv t2443 '($module)) (interface?447 (binding-value286 b2442)) (if (memv t2443 '(lexical)) '#f (if (memv t2443 '(global meta-variable)) (symbol? (binding-value286 b2442)) (if (memv t2443 '(syntax)) ((lambda (x2444) (if (pair? x2444) (if '#f ((lambda (n2445) (if (integer? n2445) (if (exact? n2445) (>= n2445 '0) '#f) '#f)) (cdr x2444)) '#f) '#f)) (binding-value286 b2442)) (if (memv t2443 '(begin define define-syntax set! $module-key $import eval-when meta)) (null? (binding-value286 b2442)) (if (memv t2443 '(local-syntax)) (boolean? (binding-value286 b2442)) (if (memv t2443 '(displaced-lexical)) (eq? (binding-value286 b2442) '#f) '#t))))))))) (binding-type285 b2442)) b2442 '#f) '#f)))) (binding-type285 car) (binding-value286 cdr) (set-binding-type!287 set-car!) (set-binding-value!288 set-cdr!) (binding?289 (lambda (x2441) (if (pair? x2441) (symbol? (car x2441)) '#f))) (extend-env299 (lambda (label2440 binding2439 r2438) (cons (cons label2440 binding2439) r2438))) (extend-env*300 (lambda (labels2437 bindings2436 r2435) (if (null? labels2437) r2435 (extend-env*300 (cdr labels2437) (cdr bindings2436) (extend-env299 (car labels2437) (car bindings2436) r2435))))) (extend-var-env*301 (lambda (labels2434 vars2433 r2432) (if (null? labels2434) r2432 (extend-var-env*301 (cdr labels2434) (cdr vars2433) (extend-env299 (car labels2434) (cons 'lexical (car vars2433)) r2432))))) (displaced-lexical?302 (lambda (id2429 r2428) ((lambda (n2430) (if n2430 ((lambda (b2431) (eq? (binding-type285 b2431) 'displaced-lexical)) (lookup305 n2430 r2428)) '#f)) (id-var-name429 id2429 '(()))))) (displaced-lexical-error303 (lambda (id2427) (syntax-error id2427 (if (id-var-name429 id2427 '(())) '"identifier out of context" '"identifier not visible")))) (lookup*304 (lambda (x2424 r2423) ((lambda (t2425) (if t2425 (cdr t2425) (if (symbol? x2424) ((lambda (t2426) (if t2426 t2426 (cons 'global x2424))) (get-global-definition-hook142 x2424)) '(displaced-lexical . #f)))) (assq x2424 r2423)))) (lookup305 (lambda (x2418 r2417) (letrec ((whack-binding!2419 (lambda (b2422 *b2421) (begin (set-binding-type!287 b2422 (binding-type285 *b2421)) (set-binding-value!288 b2422 (binding-value286 *b2421)))))) ((lambda (b2420) (begin (if (eq? (binding-type285 b2420) 'deferred) (whack-binding!2419 b2420 (make-transformer-binding306 ((binding-value286 b2420)))) (void)) b2420)) (lookup*304 x2418 r2417))))) (make-transformer-binding306 (lambda (b2415) ((lambda (t2416) (if t2416 t2416 (syntax-error b2415 '"invalid transformer"))) (sanitize-binding275 b2415)))) (defer-or-eval-transformer307 (lambda (eval2414 x2413) (if (built-lambda?221 x2413) (cons 'deferred (lambda () (eval2414 x2413))) (make-transformer-binding306 (eval2414 x2413))))) (global-extend308 (lambda (type2412 sym2411 val2410) (put-cte-hook141 sym2411 (cons type2412 val2410)))) (nonsymbol-id?309 (lambda (x2408) (if (syntax-object?64 x2408) (symbol? ((lambda (e2409) (if (annotation?132 e2409) (annotation-expression e2409) e2409)) (syntax-object-expression65 x2408))) '#f))) (id?310 (lambda (x2406) (if (symbol? x2406) '#t (if (syntax-object?64 x2406) (symbol? ((lambda (e2407) (if (annotation?132 e2407) (annotation-expression e2407) e2407)) (syntax-object-expression65 x2406))) (if (annotation?132 x2406) (symbol? (annotation-expression x2406)) '#f))))) (id-marks316 (lambda (id2405) (if (syntax-object?64 id2405) (wrap-marks320 (syntax-object-wrap66 id2405)) (wrap-marks320 '((top)))))) (id-subst317 (lambda (id2404) (if (syntax-object?64 id2404) (wrap-subst321 (syntax-object-wrap66 id2404)) (wrap-marks320 '((top)))))) (id-sym-name&marks318 (lambda (x2401 w2400) (if (syntax-object?64 x2401) (values ((lambda (e2402) (if (annotation?132 e2402) (annotation-expression e2402) e2402)) (syntax-object-expression65 x2401)) (join-marks418 (wrap-marks320 w2400) (wrap-marks320 (syntax-object-wrap66 x2401)))) (values ((lambda (e2403) (if (annotation?132 e2403) (annotation-expression e2403) e2403)) x2401) (wrap-marks320 w2400))))) (make-wrap319 cons) (wrap-marks320 car) (wrap-subst321 cdr) (make-indirect-label350 (lambda (label2399) (vector 'indirect-label label2399))) (indirect-label?351 (lambda (x2398) (if (vector? x2398) (if (= (vector-length x2398) '2) (eq? (vector-ref x2398 '0) 'indirect-label) '#f) '#f))) (indirect-label-label352 (lambda (x2397) (vector-ref x2397 '1))) (set-indirect-label-label!353 (lambda (x2396 update2395) (vector-set! x2396 '1 update2395))) (gen-indirect-label354 (lambda () (make-indirect-label350 (gen-label357)))) (get-indirect-label355 (lambda (x2394) (indirect-label-label352 x2394))) (set-indirect-label!356 (lambda (x2393 v2392) (set-indirect-label-label!353 x2393 v2392))) (gen-label357 (lambda () (string '#\i))) (label?358 (lambda (x2389) ((lambda (t2390) (if t2390 t2390 ((lambda (t2391) (if t2391 t2391 (indirect-label?351 x2389))) (symbol? x2389)))) (string? x2389)))) (gen-labels359 (lambda (ls2388) (if (null? ls2388) '() (cons (gen-label357) (gen-labels359 (cdr ls2388)))))) (make-ribcage360 (lambda (symnames2387 marks2386 labels2385) (vector 'ribcage symnames2387 marks2386 labels2385))) (ribcage?361 (lambda (x2384) (if (vector? x2384) (if (= (vector-length x2384) '4) (eq? (vector-ref x2384 '0) 'ribcage) '#f) '#f))) (ribcage-symnames362 (lambda (x2383) (vector-ref x2383 '1))) (ribcage-marks363 (lambda (x2382) (vector-ref x2382 '2))) (ribcage-labels364 (lambda (x2381) (vector-ref x2381 '3))) (set-ribcage-symnames!365 (lambda (x2380 update2379) (vector-set! x2380 '1 update2379))) (set-ribcage-marks!366 (lambda (x2378 update2377) (vector-set! x2378 '2 update2377))) (set-ribcage-labels!367 (lambda (x2376 update2375) (vector-set! x2376 '3 update2375))) (make-top-ribcage368 (lambda (key2374 mutable?2373) (vector 'top-ribcage key2374 mutable?2373))) (top-ribcage?369 (lambda (x2372) (if (vector? x2372) (if (= (vector-length x2372) '3) (eq? (vector-ref x2372 '0) 'top-ribcage) '#f) '#f))) (top-ribcage-key370 (lambda (x2371) (vector-ref x2371 '1))) (top-ribcage-mutable?371 (lambda (x2370) (vector-ref x2370 '2))) (set-top-ribcage-key!372 (lambda (x2369 update2368) (vector-set! x2369 '1 update2368))) (set-top-ribcage-mutable?!373 (lambda (x2367 update2366) (vector-set! x2367 '2 update2366))) (make-import-interface374 (lambda (interface2365 new-marks2364) (vector 'import-interface interface2365 new-marks2364))) (import-interface?375 (lambda (x2363) (if (vector? x2363) (if (= (vector-length x2363) '3) (eq? (vector-ref x2363 '0) 'import-interface) '#f) '#f))) (import-interface-interface376 (lambda (x2362) (vector-ref x2362 '1))) (import-interface-new-marks377 (lambda (x2361) (vector-ref x2361 '2))) (set-import-interface-interface!378 (lambda (x2360 update2359) (vector-set! x2360 '1 update2359))) (set-import-interface-new-marks!379 (lambda (x2358 update2357) (vector-set! x2358 '2 update2357))) (make-env380 (lambda (top-ribcage2356 wrap2355) (vector 'env top-ribcage2356 wrap2355))) (env?381 (lambda (x2354) (if (vector? x2354) (if (= (vector-length x2354) '3) (eq? (vector-ref x2354 '0) 'env) '#f) '#f))) (env-top-ribcage382 (lambda (x2353) (vector-ref x2353 '1))) (env-wrap383 (lambda (x2352) (vector-ref x2352 '2))) (set-env-top-ribcage!384 (lambda (x2351 update2350) (vector-set! x2351 '1 update2350))) (set-env-wrap!385 (lambda (x2349 update2348) (vector-set! x2349 '2 update2348))) (anti-mark395 (lambda (w2347) (make-wrap319 (cons '#f (wrap-marks320 w2347)) (cons 'shift (wrap-subst321 w2347))))) (barrier-marker400 '#f) (extend-ribcage!405 (lambda (ribcage2345 id2344 label2343) (begin (set-ribcage-symnames!365 ribcage2345 (cons ((lambda (e2346) (if (annotation?132 e2346) (annotation-expression e2346) e2346)) (syntax-object-expression65 id2344)) (ribcage-symnames362 ribcage2345))) (set-ribcage-marks!366 ribcage2345 (cons (wrap-marks320 (syntax-object-wrap66 id2344)) (ribcage-marks363 ribcage2345))) (set-ribcage-labels!367 ribcage2345 (cons label2343 (ribcage-labels364 ribcage2345)))))) (import-extend-ribcage!406 (lambda (ribcage2341 new-marks2340 id2339 label2338) (begin (set-ribcage-symnames!365 ribcage2341 (cons ((lambda (e2342) (if (annotation?132 e2342) (annotation-expression e2342) e2342)) (syntax-object-expression65 id2339)) (ribcage-symnames362 ribcage2341))) (set-ribcage-marks!366 ribcage2341 (cons (join-marks418 new-marks2340 (wrap-marks320 (syntax-object-wrap66 id2339))) (ribcage-marks363 ribcage2341))) (set-ribcage-labels!367 ribcage2341 (cons label2338 (ribcage-labels364 ribcage2341)))))) (extend-ribcage-barrier!407 (lambda (ribcage2337 killer-id2336) (extend-ribcage-barrier-help!408 ribcage2337 (syntax-object-wrap66 killer-id2336)))) (extend-ribcage-barrier-help!408 (lambda (ribcage2335 wrap2334) (begin (set-ribcage-symnames!365 ribcage2335 (cons barrier-marker400 (ribcage-symnames362 ribcage2335))) (set-ribcage-marks!366 ribcage2335 (cons (wrap-marks320 wrap2334) (ribcage-marks363 ribcage2335)))))) (extend-ribcage-subst!409 (lambda (ribcage2333 import-iface2332) (set-ribcage-symnames!365 ribcage2333 (cons import-iface2332 (ribcage-symnames362 ribcage2333))))) (lookup-import-binding-name410 (lambda (sym2327 marks2326 token2325 new-marks2324) ((lambda (new2328) (if new2328 ((letrec ((f2329 (lambda (new2330) (if (pair? new2330) ((lambda (t2331) (if t2331 t2331 (f2329 (cdr new2330)))) (f2329 (car new2330))) (if (symbol? new2330) (if (same-marks?420 marks2326 (join-marks418 new-marks2324 (wrap-marks320 '((top))))) new2330 '#f) (if (same-marks?420 marks2326 (join-marks418 new-marks2324 (wrap-marks320 (syntax-object-wrap66 new2330)))) new2330 '#f)))))) f2329) new2328) '#f)) (get-import-binding145 sym2327 token2325)))) (store-import-binding411 (lambda (id2309 token2308 new-marks2307) (letrec ((cons-id2310 (lambda (id2323 x2322) (if (not x2322) id2323 (cons id2323 x2322)))) (weed2311 (lambda (marks2321 x2320) (if (pair? x2320) (if (same-marks?420 (id-marks316 (car x2320)) marks2321) (weed2311 marks2321 (cdr x2320)) (cons-id2310 (car x2320) (weed2311 marks2321 (cdr x2320)))) (if x2320 (if (not (same-marks?420 (id-marks316 x2320) marks2321)) x2320 '#f) '#f))))) ((lambda (id2312) ((lambda (sym2313) (if (not (eq? id2312 sym2313)) ((lambda (marks2314) ((lambda (x2315) (put-import-binding146 sym2313 token2308 (cons-id2310 (if (same-marks?420 marks2314 (wrap-marks320 '((top)))) (resolved-id-var-name415 id2312) id2312) x2315))) (weed2311 marks2314 (get-import-binding145 sym2313 token2308)))) (id-marks316 id2312)) (void))) ((lambda (x2316) ((lambda (e2317) (if (annotation?132 e2317) (annotation-expression e2317) e2317)) (if (syntax-object?64 x2316) (syntax-object-expression65 x2316) x2316))) id2312))) (if (null? new-marks2307) id2309 (make-syntax-object63 ((lambda (x2318) ((lambda (e2319) (if (annotation?132 e2319) (annotation-expression e2319) e2319)) (if (syntax-object?64 x2318) (syntax-object-expression65 x2318) x2318))) id2309) (make-wrap319 (join-marks418 new-marks2307 (id-marks316 id2309)) (id-subst317 id2309)))))))) (make-binding-wrap412 (lambda (ids2297 labels2296 w2295) (if (null? ids2297) w2295 (make-wrap319 (wrap-marks320 w2295) (cons ((lambda (labelvec2298) ((lambda (n2299) ((lambda (symnamevec2301 marksvec2300) (begin ((letrec ((f2302 (lambda (ids2304 i2303) (if (not (null? ids2304)) (call-with-values (lambda () (id-sym-name&marks318 (car ids2304) w2295)) (lambda (symname2306 marks2305) (begin (vector-set! symnamevec2301 i2303 symname2306) (vector-set! marksvec2300 i2303 marks2305) (f2302 (cdr ids2304) (+ i2303 '1))))) (void))))) f2302) ids2297 '0) (make-ribcage360 symnamevec2301 marksvec2300 labelvec2298))) (make-vector n2299) (make-vector n2299))) (vector-length labelvec2298))) (list->vector labels2296)) (wrap-subst321 w2295)))))) (make-resolved-id413 (lambda (fromsym2294 marks2293 tosym2292) (make-syntax-object63 fromsym2294 (make-wrap319 marks2293 (list (make-ribcage360 (vector fromsym2294) (vector marks2293) (vector tosym2292))))))) (id->resolved-id414 (lambda (id2287) (call-with-values (lambda () (id-var-name&marks427 id2287 '(()))) (lambda (tosym2289 marks2288) (begin (if (not tosym2289) (syntax-error id2287 '"identifier not visible for export") (void)) (make-resolved-id413 ((lambda (x2290) ((lambda (e2291) (if (annotation?132 e2291) (annotation-expression e2291) e2291)) (if (syntax-object?64 x2290) (syntax-object-expression65 x2290) x2290))) id2287) marks2288 tosym2289)))))) (resolved-id-var-name415 (lambda (id2286) (vector-ref (ribcage-labels364 (car (wrap-subst321 (syntax-object-wrap66 id2286)))) '0))) (smart-append416 (lambda (m12285 m22284) (if (null? m22284) m12285 (append m12285 m22284)))) (join-wraps417 (lambda (w12281 w22280) ((lambda (m12283 s12282) (if (null? m12283) (if (null? s12282) w22280 (make-wrap319 (wrap-marks320 w22280) (join-subst419 s12282 (wrap-subst321 w22280)))) (make-wrap319 (join-marks418 m12283 (wrap-marks320 w22280)) (join-subst419 s12282 (wrap-subst321 w22280))))) (wrap-marks320 w12281) (wrap-subst321 w12281)))) (join-marks418 (lambda (m12279 m22278) (smart-append416 m12279 m22278))) (join-subst419 (lambda (s12277 s22276) (smart-append416 s12277 s22276))) (same-marks?420 (lambda (x2274 y2273) ((lambda (t2275) (if t2275 t2275 (if (not (null? x2274)) (if (not (null? y2273)) (if (eq? (car x2274) (car y2273)) (same-marks?420 (cdr x2274) (cdr y2273)) '#f) '#f) '#f))) (eq? x2274 y2273)))) (diff-marks421 (lambda (m12267 m22266) ((lambda (n12269 n22268) ((letrec ((f2270 (lambda (n12272 m12271) (if (> n12272 n22268) (cons (car m12271) (f2270 (- n12272 '1) (cdr m12271))) (if (equal? m12271 m22266) '() (error 'sc-expand '"internal error in diff-marks: ~s is not a tail of ~s" m12271 m22266)))))) f2270) n12269 m12267)) (length m12267) (length m22266)))) (leave-implicit?422 (lambda (token2265) (eq? token2265 '*top*))) (new-binding423 (lambda (sym2262 marks2261 token2260) ((lambda (loc2263) ((lambda (id2264) (begin (store-import-binding411 id2264 token2260 '()) (values loc2263 id2264))) (make-resolved-id413 sym2262 marks2261 loc2263))) (if (if (leave-implicit?422 token2260) (same-marks?420 marks2261 (wrap-marks320 '((top)))) '#f) sym2262 (generate-id147 sym2262))))) (top-id-bound-var-name424 (lambda (sym2256 marks2255 top-ribcage2254) ((lambda (token2257) ((lambda (t2258) (if t2258 ((lambda (id2259) (if (symbol? id2259) (if (read-only-binding?144 id2259) (new-binding423 sym2256 marks2255 token2257) (values id2259 (make-resolved-id413 sym2256 marks2255 id2259))) (values (resolved-id-var-name415 id2259) id2259))) t2258) (new-binding423 sym2256 marks2255 token2257))) (lookup-import-binding-name410 sym2256 marks2255 token2257 '()))) (top-ribcage-key370 top-ribcage2254)))) (top-id-free-var-name425 (lambda (sym2248 marks2247 top-ribcage2246) ((lambda (token2249) ((lambda (t2250) (if t2250 ((lambda (id2251) (if (symbol? id2251) id2251 (resolved-id-var-name415 id2251))) t2250) (if (if (top-ribcage-mutable?371 top-ribcage2246) (same-marks?420 marks2247 (wrap-marks320 '((top)))) '#f) (call-with-values (lambda () (new-binding423 sym2248 (wrap-marks320 '((top))) token2249)) (lambda (sym2253 id2252) sym2253)) '#f))) (lookup-import-binding-name410 sym2248 marks2247 token2249 '()))) (top-ribcage-key370 top-ribcage2246)))) (id-var-name-loc&marks426 (lambda (id2197 w2196) (letrec ((search2198 (lambda (sym2241 subst2240 marks2239) (if (null? subst2240) (values '#f marks2239) ((lambda (fst2242) (if (eq? fst2242 'shift) (search2198 sym2241 (cdr subst2240) (cdr marks2239)) (if (ribcage?361 fst2242) ((lambda (symnames2243) (if (vector? symnames2243) (search-vector-rib2200 sym2241 subst2240 marks2239 symnames2243 fst2242) (search-list-rib2199 sym2241 subst2240 marks2239 symnames2243 fst2242))) (ribcage-symnames362 fst2242)) (if (top-ribcage?369 fst2242) ((lambda (t2244) (if t2244 ((lambda (var-name2245) (values var-name2245 marks2239)) t2244) (search2198 sym2241 (cdr subst2240) marks2239))) (top-id-free-var-name425 sym2241 marks2239 fst2242)) (error 'sc-expand '"internal error in id-var-name-loc&marks: improper subst ~s" subst2240))))) (car subst2240))))) (search-list-rib2199 (lambda (sym2219 subst2218 marks2217 symnames2216 ribcage2215) ((letrec ((f2220 (lambda (symnames2222 i2221) (if (null? symnames2222) (search2198 sym2219 (cdr subst2218) marks2217) ((lambda (x2223) (if (if (eq? x2223 sym2219) (same-marks?420 marks2217 (list-ref (ribcage-marks363 ribcage2215) i2221)) '#f) (values (list-ref (ribcage-labels364 ribcage2215) i2221) marks2217) (if (import-interface?375 x2223) ((lambda (iface2225 new-marks2224) ((lambda (t2226) (if t2226 ((lambda (token2227) ((lambda (t2228) (if t2228 ((lambda (id2229) (values (if (symbol? id2229) id2229 (resolved-id-var-name415 id2229)) marks2217)) t2228) (f2220 (cdr symnames2222) i2221))) (lookup-import-binding-name410 sym2219 marks2217 token2227 new-marks2224))) t2226) ((lambda (ie2230) ((lambda (n2231) ((lambda () ((letrec ((g2232 (lambda (j2233) (if (= j2233 n2231) (f2220 (cdr symnames2222) i2221) ((lambda (id2234) ((lambda (id.sym2236 id.marks2235) (if (help-bound-id=?432 id.sym2236 id.marks2235 sym2219 marks2217) (values (lookup-import-label501 id2234) marks2217) (g2232 (+ j2233 '1)))) ((lambda (x2237) ((lambda (e2238) (if (annotation?132 e2238) (annotation-expression e2238) e2238)) (if (syntax-object?64 x2237) (syntax-object-expression65 x2237) x2237))) id2234) (join-marks418 new-marks2224 (id-marks316 id2234)))) (vector-ref ie2230 j2233)))))) g2232) '0)))) (vector-length ie2230))) (interface-exports449 iface2225)))) (interface-token450 iface2225))) (import-interface-interface376 x2223) (import-interface-new-marks377 x2223)) (if (if (eq? x2223 barrier-marker400) (same-marks?420 marks2217 (list-ref (ribcage-marks363 ribcage2215) i2221)) '#f) (values '#f marks2217) (f2220 (cdr symnames2222) (+ i2221 '1)))))) (car symnames2222)))))) f2220) symnames2216 '0))) (search-vector-rib2200 (lambda (sym2211 subst2210 marks2209 symnames2208 ribcage2207) ((lambda (n2212) ((letrec ((f2213 (lambda (i2214) (if (= i2214 n2212) (search2198 sym2211 (cdr subst2210) marks2209) (if (if (eq? (vector-ref symnames2208 i2214) sym2211) (same-marks?420 marks2209 (vector-ref (ribcage-marks363 ribcage2207) i2214)) '#f) (values (vector-ref (ribcage-labels364 ribcage2207) i2214) marks2209) (f2213 (+ i2214 '1))))))) f2213) '0)) (vector-length symnames2208))))) (if (symbol? id2197) (search2198 id2197 (wrap-subst321 w2196) (wrap-marks320 w2196)) (if (syntax-object?64 id2197) ((lambda (sym2202 w12201) (call-with-values (lambda () (search2198 sym2202 (wrap-subst321 w2196) (join-marks418 (wrap-marks320 w2196) (wrap-marks320 w12201)))) (lambda (name2204 marks2203) (if name2204 (values name2204 marks2203) (search2198 sym2202 (wrap-subst321 w12201) marks2203))))) ((lambda (e2205) (if (annotation?132 e2205) (annotation-expression e2205) e2205)) (syntax-object-expression65 id2197)) (syntax-object-wrap66 id2197)) (if (annotation?132 id2197) (search2198 ((lambda (e2206) (if (annotation?132 e2206) (annotation-expression e2206) e2206)) id2197) (wrap-subst321 w2196) (wrap-marks320 w2196)) (error-hook136 'id-var-name '"invalid id" id2197))))))) (id-var-name&marks427 (lambda (id2193 w2192) (call-with-values (lambda () (id-var-name-loc&marks426 id2193 w2192)) (lambda (label2195 marks2194) (values (if (indirect-label?351 label2195) (get-indirect-label355 label2195) label2195) marks2194))))) (id-var-name-loc428 (lambda (id2189 w2188) (call-with-values (lambda () (id-var-name-loc&marks426 id2189 w2188)) (lambda (label2191 marks2190) label2191)))) (id-var-name429 (lambda (id2185 w2184) (call-with-values (lambda () (id-var-name-loc&marks426 id2185 w2184)) (lambda (label2187 marks2186) (if (indirect-label?351 label2187) (get-indirect-label355 label2187) label2187))))) (free-id=?430 (lambda (i2179 j2178) (if (eq? ((lambda (x2182) ((lambda (e2183) (if (annotation?132 e2183) (annotation-expression e2183) e2183)) (if (syntax-object?64 x2182) (syntax-object-expression65 x2182) x2182))) i2179) ((lambda (x2180) ((lambda (e2181) (if (annotation?132 e2181) (annotation-expression e2181) e2181)) (if (syntax-object?64 x2180) (syntax-object-expression65 x2180) x2180))) j2178)) (eq? (id-var-name429 i2179 '(())) (id-var-name429 j2178 '(()))) '#f))) (literal-id=?431 (lambda (id2168 literal2167) (if (eq? ((lambda (x2171) ((lambda (e2172) (if (annotation?132 e2172) (annotation-expression e2172) e2172)) (if (syntax-object?64 x2171) (syntax-object-expression65 x2171) x2171))) id2168) ((lambda (x2169) ((lambda (e2170) (if (annotation?132 e2170) (annotation-expression e2170) e2170)) (if (syntax-object?64 x2169) (syntax-object-expression65 x2169) x2169))) literal2167)) ((lambda (n-id2174 n-literal2173) ((lambda (t2175) (if t2175 t2175 (if ((lambda (t2176) (if t2176 t2176 (symbol? n-id2174))) (not n-id2174)) ((lambda (t2177) (if t2177 t2177 (symbol? n-literal2173))) (not n-literal2173)) '#f))) (eq? n-id2174 n-literal2173))) (id-var-name429 id2168 '(())) (id-var-name429 literal2167 '(()))) '#f))) (help-bound-id=?432 (lambda (i.sym2166 i.marks2165 j.sym2164 j.marks2163) (if (eq? i.sym2166 j.sym2164) (same-marks?420 i.marks2165 j.marks2163) '#f))) (bound-id=?433 (lambda (i2158 j2157) (help-bound-id=?432 ((lambda (x2161) ((lambda (e2162) (if (annotation?132 e2162) (annotation-expression e2162) e2162)) (if (syntax-object?64 x2161) (syntax-object-expression65 x2161) x2161))) i2158) (id-marks316 i2158) ((lambda (x2159) ((lambda (e2160) (if (annotation?132 e2160) (annotation-expression e2160) e2160)) (if (syntax-object?64 x2159) (syntax-object-expression65 x2159) x2159))) j2157) (id-marks316 j2157)))) (valid-bound-ids?434 (lambda (ids2153) (if ((letrec ((all-ids?2154 (lambda (ids2155) ((lambda (t2156) (if t2156 t2156 (if (id?310 (car ids2155)) (all-ids?2154 (cdr ids2155)) '#f))) (null? ids2155))))) all-ids?2154) ids2153) (distinct-bound-ids?435 ids2153) '#f))) (distinct-bound-ids?435 (lambda (ids2149) ((letrec ((distinct?2150 (lambda (ids2151) ((lambda (t2152) (if t2152 t2152 (if (not (bound-id-member?437 (car ids2151) (cdr ids2151))) (distinct?2150 (cdr ids2151)) '#f))) (null? ids2151))))) distinct?2150) ids2149))) (invalid-ids-error436 (lambda (ids2145 exp2144 class2143) ((letrec ((find2146 (lambda (ids2148 gooduns2147) (if (null? ids2148) (syntax-error exp2144) (if (id?310 (car ids2148)) (if (bound-id-member?437 (car ids2148) gooduns2147) (syntax-error (car ids2148) '"duplicate " class2143) (find2146 (cdr ids2148) (cons (car ids2148) gooduns2147))) (syntax-error (car ids2148) '"invalid " class2143)))))) find2146) ids2145 '()))) (bound-id-member?437 (lambda (x2141 list2140) (if (not (null? list2140)) ((lambda (t2142) (if t2142 t2142 (bound-id-member?437 x2141 (cdr list2140)))) (bound-id=?433 x2141 (car list2140))) '#f))) (wrap438 (lambda (x2139 w2138) (if (if (null? (wrap-marks320 w2138)) (null? (wrap-subst321 w2138)) '#f) x2139 (if (syntax-object?64 x2139) (make-syntax-object63 (syntax-object-expression65 x2139) (join-wraps417 w2138 (syntax-object-wrap66 x2139))) (if (null? x2139) x2139 (make-syntax-object63 x2139 w2138)))))) (source-wrap439 (lambda (x2137 w2136 ae2135) (wrap438 (if (annotation?132 ae2135) (begin (if (not (eq? (annotation-expression ae2135) x2137)) (error 'sc-expand '"internal error in source-wrap: ae/x mismatch") (void)) ae2135) x2137) w2136))) (chi-when-list440 (lambda (when-list2133 w2132) (map (lambda (x2134) (if (literal-id=?431 x2134 '#(syntax-object compile ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-begin parse-alias parse-eval-when parse-meta parse-define-syntax parse-define parse-import parse-module do-import! lookup-import-label import-mark-delta chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi chi-sequence chi-meta-frob chi-frobs ct-eval/residualize3 ct-eval/residualize2 rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports id-set-diff chi-top-module set-frob-meta?! set-frob-e! frob-meta? frob-e frob? make-frob create-module-binding set-module-binding-exported! set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-exported module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-unresolved-interface set-interface-token! set-interface-exports! set-interface-marks! interface-token interface-exports interface-marks interface? make-interface flatten-exports chi-top chi-top-sequence chi-top* syntax-type chi-when-list source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? help-bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks top-id-free-var-name top-id-bound-var-name anon diff-marks same-marks? join-subst join-marks join-wraps smart-append resolved-id-var-name id->resolved-id make-resolved-id make-binding-wrap store-import-binding lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! import-extend-ribcage! extend-ribcage! make-empty-ribcage barrier-marker new-mark anti-mark the-anti-mark set-env-wrap! set-env-top-ribcage! env-wrap env-top-ribcage env? make-env set-import-interface-new-marks! set-import-interface-interface! import-interface-new-marks import-interface-interface import-interface? make-import-interface set-top-ribcage-mutable?! set-top-ribcage-key! top-ribcage-mutable? top-ribcage-key top-ribcage? make-top-ribcage set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels label? gen-label set-indirect-label! get-indirect-label indirect-label? gen-indirect-label anon only-top-marked? top-marked? top-wrap empty-wrap wrap-subst wrap-marks make-wrap id-sym-name&marks id-subst id-marks id-sym-name id? nonsymbol-id? global-extend defer-or-eval-transformer make-transformer-binding lookup lookup* displaced-lexical-error displaced-lexical? extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding sanitize-binding arg-check no-source unannotate self-evaluating? lexical-var? build-lexical-var build-top-module build-body build-letrec build-sequence build-data build-primref built-lambda? build-lambda build-revisit-only build-visit-only build-cte-install build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id put-import-binding get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-hook gensym-hook error-hook define-top-level-value-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object noexpand let-values define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(top-ribcage *top* #t)))) 'compile (if (literal-id=?431 x2134 '#(syntax-object load ((top) #(ribcage () () ()) #(ribcage #(x) #((top)) #("i")) #(ribcage () () ()) #(ribcage #(when-list w) #((top) (top)) #("i" "i")) #(ribcage (lambda-var-list gen-var strip strip* strip-annotation ellipsis? chi-void chi-local-syntax chi-lambda-clause parse-begin parse-alias parse-eval-when parse-meta parse-define-syntax parse-define parse-import parse-module do-import! lookup-import-label import-mark-delta chi-internal chi-body chi-macro chi-set! chi-application chi-expr chi chi-sequence chi-meta-frob chi-frobs ct-eval/residualize3 ct-eval/residualize2 rt-eval/residualize initial-mode-set update-mode-set do-top-import vfor-each vmap chi-external check-defined-ids check-module-exports id-set-diff chi-top-module set-frob-meta?! set-frob-e! frob-meta? frob-e frob? make-frob create-module-binding set-module-binding-exported! set-module-binding-val! set-module-binding-imps! set-module-binding-label! set-module-binding-id! set-module-binding-type! module-binding-exported module-binding-val module-binding-imps module-binding-label module-binding-id module-binding-type module-binding? make-module-binding make-resolved-interface make-unresolved-interface set-interface-token! set-interface-exports! set-interface-marks! interface-token interface-exports interface-marks interface? make-interface flatten-exports chi-top chi-top-sequence chi-top* syntax-type chi-when-list source-wrap wrap bound-id-member? invalid-ids-error distinct-bound-ids? valid-bound-ids? bound-id=? help-bound-id=? literal-id=? free-id=? id-var-name id-var-name-loc id-var-name&marks id-var-name-loc&marks top-id-free-var-name top-id-bound-var-name anon diff-marks same-marks? join-subst join-marks join-wraps smart-append resolved-id-var-name id->resolved-id make-resolved-id make-binding-wrap store-import-binding lookup-import-binding-name extend-ribcage-subst! extend-ribcage-barrier-help! extend-ribcage-barrier! import-extend-ribcage! extend-ribcage! make-empty-ribcage barrier-marker new-mark anti-mark the-anti-mark set-env-wrap! set-env-top-ribcage! env-wrap env-top-ribcage env? make-env set-import-interface-new-marks! set-import-interface-interface! import-interface-new-marks import-interface-interface import-interface? make-import-interface set-top-ribcage-mutable?! set-top-ribcage-key! top-ribcage-mutable? top-ribcage-key top-ribcage? make-top-ribcage set-ribcage-labels! set-ribcage-marks! set-ribcage-symnames! ribcage-labels ribcage-marks ribcage-symnames ribcage? make-ribcage gen-labels label? gen-label set-indirect-label! get-indirect-label indirect-label? gen-indirect-label anon only-top-marked? top-marked? top-wrap empty-wrap wrap-subst wrap-marks make-wrap id-sym-name&marks id-subst id-marks id-sym-name id? nonsymbol-id? global-extend defer-or-eval-transformer make-transformer-binding lookup lookup* displaced-lexical-error displaced-lexical? extend-var-env* extend-env* extend-env null-env binding? set-binding-value! set-binding-type! binding-value binding-type make-binding sanitize-binding arg-check no-source unannotate self-evaluating? lexical-var? build-lexical-var build-top-module build-body build-letrec build-sequence build-data build-primref built-lambda? build-lambda build-revisit-only build-visit-only build-cte-install build-global-definition build-global-assignment build-global-reference build-lexical-assignment build-lexical-reference build-conditional build-application generate-id put-import-binding get-import-binding read-only-binding? put-global-definition-hook get-global-definition-hook put-cte-hook gensym-hook error-hook define-top-level-value-hook local-eval-hook top-level-eval-hook annotation? fx>= fx<= fx> fx< fx= fx- fx+ set-syntax-object-wrap! set-syntax-object-expression! syntax-object-wrap syntax-object-expression syntax-object? make-syntax-object noexpand let-values define-structure unless when) ((top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) ("m" top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top) (top)) ("i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i" "i")) #(top-ribcage *top* #t)))) 'load (if (literal-id=?431 x2134 '#(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-t