diff --git a/lib/ext/boot.c b/lib/ext/boot.c index 2803bd59..2a5b8a06 100644 --- a/lib/ext/boot.c +++ b/lib/ext/boot.c @@ -170,445 +170,450 @@ static const char boot_compile_rom[][80] = { "define-macro.2308 .the-define.2309 .the-lambda.2310 .the-begin.2311 .the-quote.2", "312 .the-set!.2313 .the-if.2314 .the-define-macro.2315) (core#begin (.define-tra", "nsformer.2297 (core#quote quote) (core#lambda (.form.2320 .env.2321) (core#if (=", -" (length .form.2320) 2) (cons .the-core-quote.2305 (cons (cadr .form.2320) (core", -"#quote ()))) (error \"malformed quote\" .form.2320)))) (core#begin (.define-transf", -"ormer.2297 (core#quote if) (core#lambda (.form.2322 .env.2323) ((core#lambda (.l", -"en.2324) (core#if (= .len.2324 3) (append .form.2322 (cons (core#quote #undefine", -"d) (core#quote ()))) (core#if (= .len.2324 4) (cons .the-core-if.2307 (cdr .form", -".2322)) (error \"malformed if\" .form.2322)))) (length .form.2322)))) (core#begin ", -"(.define-transformer.2297 (core#quote begin) (core#lambda (.form.2325 .env.2326)", -" ((core#lambda (.len.2327) (core#if (= .len.2327 1) #undefined (core#if (= .len.", -"2327 2) (cadr .form.2325) (core#if (= .len.2327 3) (cons .the-core-begin.2304 (c", -"dr .form.2325)) (cons .the-core-begin.2304 (cons (cadr .form.2325) (cons (cons .", -"the-begin.2311 (cddr .form.2325)) (core#quote ())))))))) (length .form.2325)))) ", -"(core#begin (.define-transformer.2297 (core#quote set!) (core#lambda (.form.2328", -" .env.2329) (core#if (core#if (= (length .form.2328) 3) (identifier? (cadr .form", -".2328)) #f) (cons .the-core-set!.2306 (cdr .form.2328)) (error \"malformed set!\" ", -".form.2328)))) (core#begin (core#define .check-formal.2316 (core#lambda (.formal", -".2330) ((core#lambda (.it.2331) (core#if .it.2331 .it.2331 ((core#lambda (.it.23", -"32) (core#if .it.2332 .it.2332 ((core#lambda (.it.2333) (core#if .it.2333 .it.23", -"33 #f)) (core#if (pair? .formal.2330) (core#if (identifier? (car .formal.2330)) ", -"(.check-formal.2316 (cdr .formal.2330)) #f) #f)))) (identifier? .formal.2330))))", -" (null? .formal.2330)))) (core#begin (.define-transformer.2297 (core#quote lambd", -"a) (core#lambda (.form.2334 .env.2335) (core#if (= (length .form.2334) 1) (error", -" \"malformed lambda\" .form.2334) (core#if (.check-formal.2316 (cadr .form.2334)) ", -"(cons .the-core-lambda.2303 (cons (cadr .form.2334) (cons (cons .the-begin.2311 ", -"(cddr .form.2334)) (core#quote ())))) (error \"malformed lambda\" .form.2334))))) ", -"(core#begin (.define-transformer.2297 (core#quote define) (core#lambda (.form.23", -"36 .env.2337) ((core#lambda (.len.2338) (core#if (= .len.2338 1) (error \"malform", -"ed define\" .form.2336) ((core#lambda (.formal.2339) (core#if (identifier? .forma", -"l.2339) (core#if (= .len.2338 3) (cons .the-core-define.2302 (cdr .form.2336)) (", -"error \"malformed define\" .form.2336)) (core#if (pair? .formal.2339) (cons .the-d", -"efine.2309 (cons (car .formal.2339) (cons (cons .the-lambda.2310 (cons (cdr .for", -"mal.2339) (cddr .form.2336))) (core#quote ())))) (error \"define: binding to non-", -"varaible object\" .form.2336)))) (cadr .form.2336)))) (length .form.2336)))) (cor", -"e#begin (.define-transformer.2297 (core#quote define-macro) (core#lambda (.form.", -"2340 .env.2341) (core#if (= (length .form.2340) 3) (core#if (identifier? (cadr .", -"form.2340)) (cons .the-core-define-macro.2308 (cdr .form.2340)) (error \"define-m", -"acro: binding to non-variable object\" .form.2340)) (error \"malformed define-macr", -"o\" .form.2340)))) (core#begin #undefined (core#begin (.define-transformer.2297 (", -"core#quote else) (core#lambda ._.2342 (error \"invalid use of auxiliary syntax\" (", -"core#quote else)))) (core#begin (.define-transformer.2297 (core#quote =>) (core#", -"lambda ._.2343 (error \"invalid use of auxiliary syntax\" (core#quote =>)))) (core", -"#begin (.define-transformer.2297 (core#quote unquote) (core#lambda ._.2344 (erro", -"r \"invalid use of auxiliary syntax\" (core#quote unquote)))) (core#begin (.define", -"-transformer.2297 (core#quote unquote-splicing) (core#lambda ._.2345 (error \"inv", -"alid use of auxiliary syntax\" (core#quote unquote-splicing)))) (core#begin (.def", -"ine-transformer.2297 (core#quote let) (core#lambda (.form.2346 .env.2347) (core#", -"if (identifier? (cadr .form.2346)) ((core#lambda (.name.2348 .formal.2349 .body.", -"2350) (cons (cons .the-lambda.2310 (cons (core#quote ()) (cons (cons .the-define", -".2309 (cons (cons .name.2348 (map car .formal.2349)) .body.2350)) (cons (cons .n", -"ame.2348 (map cadr .formal.2349)) (core#quote ()))))) (core#quote ()))) (car (cd", -"r .form.2346)) (car (cdr (cdr .form.2346))) (cdr (cdr (cdr .form.2346)))) ((core", -"#lambda (.formal.2351 .body.2352) (cons (cons .the-lambda.2310 (cons (map car .f", -"ormal.2351) .body.2352)) (map cadr .formal.2351))) (car (cdr .form.2346)) (cdr (", -"cdr .form.2346)))))) (core#begin (.define-transformer.2297 (core#quote and) (cor", -"e#lambda (.form.2353 .env.2354) (core#if (null? (cdr .form.2353)) #t (core#if (n", -"ull? (cddr .form.2353)) (cadr .form.2353) (cons .the-if.2314 (cons (cadr .form.2", -"353) (cons (cons (.the.2298 (core#quote and)) (cddr .form.2353)) (cons (core#quo", -"te #f) (core#quote ()))))))))) (core#begin (.define-transformer.2297 (core#quote", -" or) (core#lambda (.form.2355 .env.2356) (core#if (null? (cdr .form.2355)) #f ((", -"core#lambda (.tmp.2357) (cons (.the.2298 (core#quote let)) (cons (cons (cons .tm", -"p.2357 (cons (cadr .form.2355) (core#quote ()))) (core#quote ())) (cons (cons .t", -"he-if.2314 (cons .tmp.2357 (cons .tmp.2357 (cons (cons (.the.2298 (core#quote or", -")) (cddr .form.2355)) (core#quote ()))))) (core#quote ()))))) (make-identifier (", -"core#quote it) .env.2356))))) (core#begin (.define-transformer.2297 (core#quote ", -"cond) (core#lambda (.form.2358 .env.2359) ((core#lambda (.clauses.2360) (core#if", -" (null? .clauses.2360) #undefined ((core#lambda (.clause.2361) (core#if (core#if", -" (identifier? (car .clause.2361)) (identifier=? (.the.2298 (core#quote else)) (m", -"ake-identifier (car .clause.2361) .env.2359)) #f) (cons .the-begin.2311 (cdr .cl", -"ause.2361)) (core#if (null? (cdr .clause.2361)) (cons (.the.2298 (core#quote or)", -") (cons (car .clause.2361) (cons (cons (.the.2298 (core#quote cond)) (cdr .claus", -"es.2360)) (core#quote ())))) (core#if (core#if (identifier? (cadr .clause.2361))", -" (identifier=? (.the.2298 (core#quote =>)) (make-identifier (cadr .clause.2361) ", -".env.2359)) #f) ((core#lambda (.tmp.2362) (cons (.the.2298 (core#quote let)) (co", -"ns (cons (cons .tmp.2362 (cons (car .clause.2361) (core#quote ()))) (core#quote ", -"())) (cons (cons .the-if.2314 (cons .tmp.2362 (cons (cons (cadr (cdr .clause.236", -"1)) (cons .tmp.2362 (core#quote ()))) (cons (cons (.the.2298 (core#quote cond)) ", -"(cddr .form.2358)) (core#quote ()))))) (core#quote ()))))) (make-identifier (cor", -"e#quote tmp) .env.2359)) (cons .the-if.2314 (cons (car .clause.2361) (cons (cons", -" .the-begin.2311 (cdr .clause.2361)) (cons (cons (.the.2298 (core#quote cond)) (", -"cdr .clauses.2360)) (core#quote ()))))))))) (car .clauses.2360)))) (cdr .form.23", -"58)))) (core#begin (.define-transformer.2297 (core#quote quasiquote) (core#lambd", -"a (.form.2363 .env.2364) (core#begin (core#define .quasiquote?.2365 (core#lambda", -" (.form.2369) (core#if (pair? .form.2369) (core#if (identifier? (car .form.2369)", -") (identifier=? (.the.2298 (core#quote quasiquote)) (make-identifier (car .form.", -"2369) .env.2364)) #f) #f))) (core#begin (core#define .unquote?.2366 (core#lambda", -" (.form.2370) (core#if (pair? .form.2370) (core#if (identifier? (car .form.2370)", -") (identifier=? (.the.2298 (core#quote unquote)) (make-identifier (car .form.237", -"0) .env.2364)) #f) #f))) (core#begin (core#define .unquote-splicing?.2367 (core#", -"lambda (.form.2371) (core#if (pair? .form.2371) (core#if (pair? (car .form.2371)", -") (core#if (identifier? (caar .form.2371)) (identifier=? (.the.2298 (core#quote ", -"unquote-splicing)) (make-identifier (caar .form.2371) .env.2364)) #f) #f) #f))) ", -"(core#begin (core#define .qq.2368 (core#lambda (.depth.2372 .expr.2373) (core#if", -" (.unquote?.2366 .expr.2373) (core#if (= .depth.2372 1) (cadr .expr.2373) (list ", -"(.the.2298 (core#quote list)) (list (.the.2298 (core#quote quote)) (.the.2298 (c", -"ore#quote unquote))) (.qq.2368 (- .depth.2372 1) (car (cdr .expr.2373))))) (core", -"#if (.unquote-splicing?.2367 .expr.2373) (core#if (= .depth.2372 1) (list (.the.", -"2298 (core#quote append)) (car (cdr (car .expr.2373))) (.qq.2368 .depth.2372 (cd", -"r .expr.2373))) (list (.the.2298 (core#quote cons)) (list (.the.2298 (core#quote", -" list)) (list (.the.2298 (core#quote quote)) (.the.2298 (core#quote unquote-spli", -"cing))) (.qq.2368 (- .depth.2372 1) (car (cdr (car .expr.2373))))) (.qq.2368 .de", -"pth.2372 (cdr .expr.2373)))) (core#if (.quasiquote?.2365 .expr.2373) (list (.the", -".2298 (core#quote list)) (list (.the.2298 (core#quote quote)) (.the.2298 (core#q", -"uote quasiquote))) (.qq.2368 (+ .depth.2372 1) (car (cdr .expr.2373)))) (core#if", -" (pair? .expr.2373) (list (.the.2298 (core#quote cons)) (.qq.2368 .depth.2372 (c", -"ar .expr.2373)) (.qq.2368 .depth.2372 (cdr .expr.2373))) (core#if (vector? .expr", -".2373) (list (.the.2298 (core#quote list->vector)) (.qq.2368 .depth.2372 (vector", -"->list .expr.2373))) (list (.the.2298 (core#quote quote)) .expr.2373)))))))) ((c", -"ore#lambda (.x.2374) (.qq.2368 1 .x.2374)) (cadr .form.2363)))))))) (core#begin ", -"(.define-transformer.2297 (core#quote let*) (core#lambda (.form.2375 .env.2376) ", -"((core#lambda (.bindings.2377 .body.2378) (core#if (null? .bindings.2377) (cons ", -"(.the.2298 (core#quote let)) (cons (core#quote ()) .body.2378)) (cons (.the.2298", -" (core#quote let)) (cons (cons (cons (car (car .bindings.2377)) (cdr (car .bindi", -"ngs.2377))) (core#quote ())) (cons (cons (.the.2298 (core#quote let*)) (cons (cd", -"r .bindings.2377) .body.2378)) (core#quote ())))))) (car (cdr .form.2375)) (cdr ", -"(cdr .form.2375))))) (core#begin (.define-transformer.2297 (core#quote letrec) (", -"core#lambda (.form.2379 .env.2380) (cons (.the.2298 (core#quote letrec*)) (cdr .", -"form.2379)))) (core#begin (.define-transformer.2297 (core#quote letrec*) (core#l", -"ambda (.form.2381 .env.2382) ((core#lambda (.bindings.2383 .body.2384) ((core#la", -"mbda (.variables.2385 .initials.2386) (cons (.the.2298 (core#quote let)) (cons .", -"variables.2385 (append .initials.2386 (append .body.2384 (core#quote ())))))) (m", -"ap (core#lambda (.v.2387) (cons .v.2387 (cons (core#quote #undefined) (core#quot", -"e ())))) (map car .bindings.2383)) (map (core#lambda (.v.2388) (cons (.the.2298 ", -"(core#quote set!)) (append .v.2388 (core#quote ())))) .bindings.2383))) (car (cd", -"r .form.2381)) (cdr (cdr .form.2381))))) (core#begin (.define-transformer.2297 (", -"core#quote let-values) (core#lambda (.form.2389 .env.2390) (cons (.the.2298 (cor", -"e#quote let*-values)) (append (cdr .form.2389) (core#quote ()))))) (core#begin (", -".define-transformer.2297 (core#quote let*-values) (core#lambda (.form.2391 .env.", -"2392) ((core#lambda (.formals.2393 .body.2394) (core#if (null? .formals.2393) (c", -"ons (.the.2298 (core#quote let)) (cons (core#quote ()) (append .body.2394 (core#", -"quote ())))) ((core#lambda (.formal.2395) (cons (.the.2298 (core#quote call-with", -"-values)) (cons (cons .the-lambda.2310 (cons (core#quote ()) (cdr .formal.2395))", -") (cons (cons (.the.2298 (core#quote lambda)) (cons (car .formal.2395) (cons (co", -"ns (.the.2298 (core#quote let*-values)) (cons (cdr .formals.2393) .body.2394)) (", -"core#quote ())))) (core#quote ()))))) (car .formals.2393)))) (cadr .form.2391) (", -"cddr .form.2391)))) (core#begin (.define-transformer.2297 (core#quote define-val", -"ues) (core#lambda (.form.2396 .env.2397) ((core#lambda (.formal.2398 .body.2399)", -" ((core#lambda (.tmps.2400) (cons .the-begin.2311 (append ((core#lambda () (core", -"#begin (core#define .loop.2401 (core#lambda (.formal.2402) (core#if (identifier?", -" .formal.2402) (cons (cons .the-define.2309 (cons .formal.2402 (cons (core#quote", -" #undefined) (core#quote ())))) (core#quote ())) (core#if (pair? .formal.2402) (", -"cons (cons .the-define.2309 (cons (car .formal.2402) (cons (core#quote #undefine", -"d) (core#quote ())))) (.loop.2401 (cdr .formal.2402))) (core#quote ()))))) (.loo", -"p.2401 .formal.2398)))) (cons (cons (.the.2298 (core#quote call-with-values)) (c", -"ons (cons .the-lambda.2310 (cons (core#quote ()) .body.2399)) (cons (cons .the-l", -"ambda.2310 (cons .tmps.2400 ((core#lambda () (core#begin (core#define .loop.2403", -" (core#lambda (.formal.2404 .tmps.2405) (core#if (identifier? .formal.2404) (con", -"s (cons .the-set!.2313 (cons .formal.2404 (cons .tmps.2405 (core#quote ())))) (c", -"ore#quote ())) (core#if (pair? .formal.2404) (cons (cons .the-set!.2313 (cons (c", -"ar .formal.2404) (cons (car .tmps.2405) (core#quote ())))) (.loop.2403 (cdr .for", -"mal.2404) (cdr .tmps.2405))) (core#quote ()))))) (.loop.2403 .formal.2398 .tmps.", -"2400)))))) (core#quote ())))) (core#quote ()))))) ((core#lambda () (core#begin (", -"core#define .loop.2406 (core#lambda (.formal.2407) (core#if (identifier? .formal", -".2407) (make-identifier .formal.2407 .env.2397) (core#if (pair? .formal.2407) (c", -"ons (make-identifier (car .formal.2407) .env.2397) (.loop.2406 (cdr .formal.2407", -"))) (core#quote ()))))) (.loop.2406 .formal.2398)))))) (cadr .form.2396) (cddr .", -"form.2396)))) (core#begin (.define-transformer.2297 (core#quote do) (core#lambda", -" (.form.2408 .env.2409) ((core#lambda (.bindings.2410 .test.2411 .cleanup.2412 .", -"body.2413) ((core#lambda (.loop.2414) (cons (.the.2298 (core#quote let)) (cons .", -"loop.2414 (cons (map (core#lambda (.x.2415) (cons (car .x.2415) (cons (cadr .x.2", -"415) (core#quote ())))) .bindings.2410) (cons (cons .the-if.2314 (cons .test.241", -"1 (cons (cons .the-begin.2311 .cleanup.2412) (cons (cons .the-begin.2311 (append", -" .body.2413 (cons (cons .loop.2414 (map (core#lambda (.x.2416) (core#if (null? (", -"cdr (cdr .x.2416))) (car .x.2416) (car (cdr (cdr .x.2416))))) .bindings.2410)) (", -"core#quote ())))) (core#quote ()))))) (core#quote ())))))) (make-identifier (cor", -"e#quote loop) .env.2409))) (car (cdr .form.2408)) (car (car (cdr (cdr .form.2408", -")))) (cdr (car (cdr (cdr .form.2408)))) (cdr (cdr (cdr .form.2408)))))) (core#be", -"gin (.define-transformer.2297 (core#quote when) (core#lambda (.form.2417 .env.24", -"18) ((core#lambda (.test.2419 .body.2420) (cons .the-if.2314 (cons .test.2419 (c", -"ons (cons .the-begin.2311 (append .body.2420 (core#quote ()))) (cons (core#quote", -" #undefined) (core#quote ())))))) (car (cdr .form.2417)) (cdr (cdr .form.2417)))", -")) (core#begin (.define-transformer.2297 (core#quote unless) (core#lambda (.form", -".2421 .env.2422) ((core#lambda (.test.2423 .body.2424) (cons .the-if.2314 (cons ", -".test.2423 (cons (core#quote #undefined) (cons (cons .the-begin.2311 (append .bo", -"dy.2424 (core#quote ()))) (core#quote ())))))) (car (cdr .form.2421)) (cdr (cdr ", -".form.2421))))) (core#begin (.define-transformer.2297 (core#quote case) (core#la", -"mbda (.form.2425 .env.2426) ((core#lambda (.key.2427 .clauses.2428) ((core#lambd", -"a (.the-key.2429) (cons (.the.2298 (core#quote let)) (cons (cons (cons .the-key.", -"2429 (cons .key.2427 (core#quote ()))) (core#quote ())) (cons ((core#lambda () (", -"core#begin (core#define .loop.2430 (core#lambda (.clauses.2431) (core#if (null? ", -".clauses.2431) #undefined ((core#lambda (.clause.2432) (cons .the-if.2314 (cons ", -"(core#if (core#if (identifier? (car .clause.2432)) (identifier=? (.the.2298 (cor", -"e#quote else)) (make-identifier (car .clause.2432) .env.2426)) #f) #t (cons (.th", -"e.2298 (core#quote or)) (append (map (core#lambda (.x.2433) (cons (.the.2298 (co", -"re#quote eqv?)) (cons .the-key.2429 (cons (cons .the-quote.2312 (cons .x.2433 (c", -"ore#quote ()))) (core#quote ()))))) (car .clause.2432)) (core#quote ())))) (cons", -" (core#if (core#if (identifier? (cadr .clause.2432)) (identifier=? (.the.2298 (c", -"ore#quote =>)) (make-identifier (cadr .clause.2432) .env.2426)) #f) (cons (car (", -"cdr (cdr .clause.2432))) (cons .the-key.2429 (core#quote ()))) (cons .the-begin.", -"2311 (append (cdr .clause.2432) (core#quote ())))) (cons (.loop.2430 (cdr .claus", -"es.2431)) (core#quote ())))))) (car .clauses.2431))))) (.loop.2430 .clauses.2428", -")))) (core#quote ()))))) (make-identifier (core#quote key) .env.2426))) (car (cd", -"r .form.2425)) (cdr (cdr .form.2425))))) (core#begin (.define-transformer.2297 (", -"core#quote parameterize) (core#lambda (.form.2434 .env.2435) ((core#lambda (.for", -"mal.2436 .body.2437) (cons (.the.2298 (core#quote with-dynamic-environment)) (co", -"ns (cons (.the.2298 (core#quote list)) (append (map (core#lambda (.x.2438) (cons", -" (.the.2298 (core#quote cons)) (cons (car .x.2438) (cons (cadr .x.2438) (core#qu", -"ote ()))))) .formal.2436) (core#quote ()))) (cons (cons .the-lambda.2310 (cons (", -"core#quote ()) (append .body.2437 (core#quote ())))) (core#quote ()))))) (car (c", -"dr .form.2434)) (cdr (cdr .form.2434))))) (.define-transformer.2297 (core#quote ", -"define-record-type) (core#lambda (.form.2439 .env.2440) ((core#lambda (.type.244", -"1 .ctor.2442 .pred.2443 .fields.2444) (cons .the-begin.2311 (cons (cons .the-def", -"ine.2309 (cons .ctor.2442 (cons (cons (.the.2298 (core#quote make-record)) (cons", -" (cons (core#quote quote) (cons .type.2441 (core#quote ()))) (cons (cons (.the.2", -"298 (core#quote vector)) (map (core#lambda (.field.2445) (core#if (memq (car .fi", -"eld.2445) (cdr .ctor.2442)) (car .field.2445) #undefined)) .fields.2444)) (core#", -"quote ())))) (core#quote ())))) (cons (cons .the-define.2309 (cons .pred.2443 (c", -"ons (cons (.the.2298 (core#quote lambda)) (cons (cons (core#quote obj) (core#quo", -"te ())) (cons (cons (.the.2298 (core#quote and)) (cons (cons (.the.2298 (core#qu", -"ote record?)) (cons (core#quote obj) (core#quote ()))) (cons (cons (.the.2298 (c", -"ore#quote eq?)) (cons (cons (.the.2298 (core#quote record-type)) (cons (core#quo", -"te obj) (core#quote ()))) (cons (cons (core#quote quote) (cons .type.2441 (core#", -"quote ()))) (core#quote ())))) (core#quote ())))) (core#quote ())))) (core#quote", -" ())))) ((core#lambda () (core#begin (core#define .loop.2446 (core#lambda (.fiel", -"ds.2447 .pos.2448 .acc.2449) (core#if (null? .fields.2447) .acc.2449 ((core#lamb", -"da (.field.2450) ((core#lambda (.defs.2451) (.loop.2446 (cdr .fields.2447) (+ .p", -"os.2448 1) (append .defs.2451 .acc.2449))) (cons (cons .the-define.2309 (cons (c", -"ons (cadr .field.2450) (cons (core#quote obj) (core#quote ()))) (cons (cons .the", -"-if.2314 (cons (cons .pred.2443 (cons (core#quote obj) (core#quote ()))) (cons (", -"cons (.the.2298 (core#quote vector-ref)) (cons (cons (.the.2298 (core#quote reco", -"rd-datum)) (cons (core#quote obj) (core#quote ()))) (cons .pos.2448 (core#quote ", -"())))) (cons (cons (.the.2298 (core#quote error)) (cons (core#quote \"record type", -" mismatch\") (cons (core#quote obj) (cons (cons (core#quote quote) (cons .type.24", -"41 (core#quote ()))) (core#quote ()))))) (core#quote ()))))) (core#quote ())))) ", -"(core#if (null? (cddr .field.2450)) (core#quote ()) (cons (cons .the-define.2309", -" (cons (cons (car (cddr .field.2450)) (cons (core#quote obj) (cons (core#quote v", -"alue) (core#quote ())))) (cons (cons .the-if.2314 (cons (cons .pred.2443 (cons (", -"core#quote obj) (core#quote ()))) (cons (cons (.the.2298 (core#quote vector-set!", -")) (cons (cons (.the.2298 (core#quote record-datum)) (cons (core#quote obj) (cor", -"e#quote ()))) (cons .pos.2448 (cons (core#quote value) (core#quote ()))))) (cons", -" (cons (.the.2298 (core#quote error)) (cons (core#quote \"record type mismatch\") ", -"(cons (core#quote obj) (cons (cons (core#quote quote) (cons .type.2441 (core#quo", -"te ()))) (core#quote ()))))) (core#quote ()))))) (core#quote ())))) (core#quote ", -"())))))) (car .fields.2447))))) (.loop.2446 .fields.2444 0 (core#quote ())))))))", -")) (car (cdr .form.2439)) (car (cdr (cdr .form.2439))) (car (cdr (cdr (cdr .form", -".2439)))) (cdr (cdr (cdr (cdr .form.2439))))))))))))))))))))))))))))))))))))) (.", -"the.2298 (core#quote core#define)) (.the.2298 (core#quote core#lambda)) (.the.22", -"98 (core#quote core#begin)) (.the.2298 (core#quote core#quote)) (.the.2298 (core", -"#quote core#set!)) (.the.2298 (core#quote core#if)) (.the.2298 (core#quote core#", -"define-macro)) (.the.2298 (core#quote define)) (.the.2298 (core#quote lambda)) (", -".the.2298 (core#quote begin)) (.the.2298 (core#quote quote)) (.the.2298 (core#qu", -"ote set!)) (.the.2298 (core#quote if)) (.the.2298 (core#quote define-macro))))))", -") (core#begin (core#begin (core#define compile #undefined) (call-with-values (co", -"re#lambda () ((core#lambda () (core#begin (core#define .caddr.2452 (core#lambda ", -"(.x.2459) (car (cddr .x.2459)))) (core#begin (core#define .cadddr.2453 (core#lam", -"bda (.x.2460) (cadr (cddr .x.2460)))) (core#begin (core#define .max.2454 (core#l", -"ambda (.a.2461 .b.2462) (core#if (< .a.2461 .b.2462) .b.2462 .a.2461))) (core#be", -"gin (core#define .integer?.2455 (core#lambda (.n.2463) (core#if (number? .n.2463", -") (exact? .n.2463) #f))) (core#begin (core#define .normalize.2456 ((core#lambda ", -"(.defs.2464) (core#begin (core#define .normalize.2465 (core#lambda (.e.2466) (co", -"re#if (symbol? .e.2466) (cons (core#quote ref) (cons .e.2466 (core#quote ()))) (", -"core#if (not (pair? .e.2466)) (cons (core#quote quote) (cons .e.2466 (core#quote", -" ()))) ((core#lambda (.key.2467) (core#if ((core#lambda (.it.2468) (core#if .it.", -"2468 .it.2468 #f)) (eqv? .key.2467 (core#quote core#quote))) (cons (core#quote q", -"uote) (cdr .e.2466)) (core#if ((core#lambda (.it.2469) (core#if .it.2469 .it.246", -"9 #f)) (eqv? .key.2467 (core#quote core#define))) ((core#lambda (.var.2470 .val.", -"2471) (core#begin (.defs.2464 (cons .var.2470 (.defs.2464))) (cons (core#quote s", -"et!) (cons .var.2470 (cons (.normalize.2465 .val.2471) (core#quote ())))))) (cad", -"r .e.2466) (.caddr.2452 .e.2466)) (core#if ((core#lambda (.it.2472) (core#if .it", -".2472 .it.2472 #f)) (eqv? .key.2467 (core#quote core#lambda))) ((core#lambda (.a", -"rgs.2473 .body.2474) (with-dynamic-environment (list (cons .defs.2464 (core#quot", -"e ()))) (core#lambda () ((core#lambda (.body.2475) (core#if (null? (.defs.2464))", -" (cons (core#quote lambda) (cons .args.2473 (cons .body.2475 (core#quote ())))) ", -"(cons (core#quote lambda) (cons .args.2473 (cons (cons (cons (core#quote lambda)", -" (cons (.defs.2464) (cons .body.2475 (core#quote ())))) (append (map (core#lambd", -"a (._.2476) #f) (.defs.2464)) (core#quote ()))) (core#quote ())))))) (.normalize", -".2465 .body.2474))))) (cadr .e.2466) (.caddr.2452 .e.2466)) (core#if ((core#lamb", -"da (.it.2477) (core#if .it.2477 .it.2477 #f)) (eqv? .key.2467 (core#quote core#s", -"et!))) (cons (core#quote set!) (map .normalize.2465 (cdr .e.2466))) (core#if ((c", -"ore#lambda (.it.2478) (core#if .it.2478 .it.2478 #f)) (eqv? .key.2467 (core#quot", -"e core#if))) (cons (core#quote if) (map .normalize.2465 (cdr .e.2466))) (core#if", -" ((core#lambda (.it.2479) (core#if .it.2479 .it.2479 #f)) (eqv? .key.2467 (core#", -"quote core#begin))) (cons (core#quote begin) (map .normalize.2465 (cdr .e.2466))", -") (core#if #t (map .normalize.2465 .e.2466) #undefined)))))))) (car .e.2466)))))", -") .normalize.2465)) (make-parameter (core#quote ())))) (core#begin (core#define ", -".transform.2457 ((core#lambda () (core#begin (core#define .uniq.2480 ((core#lamb", -"da (.n.2485) (core#lambda () (core#begin (core#set! .n.2485 (+ .n.2485 1)) (stri", -"ng->symbol (string-append \"$\" (number->string .n.2485)))))) 0)) (core#begin (cor", -"e#define .transform-k.2481 (core#lambda (.e.2486 .k.2487) ((core#lambda (.key.24", -"88) (core#if ((core#lambda (.it.2489) (core#if .it.2489 .it.2489 ((core#lambda (", -".it.2490) (core#if .it.2490 .it.2490 ((core#lambda (.it.2491) (core#if .it.2491 ", -".it.2491 #f)) (eqv? .key.2488 (core#quote quote))))) (eqv? .key.2488 (core#quote", -" lambda))))) (eqv? .key.2488 (core#quote ref))) (.k.2487 (.transform-v.2484 .e.2", -"486)) (core#if ((core#lambda (.it.2492) (core#if .it.2492 .it.2492 #f)) (eqv? .k", -"ey.2488 (core#quote begin))) (.transform-k.2481 (cadr .e.2486) (core#lambda (._.", -"2493) (.transform-k.2481 (.caddr.2452 .e.2486) .k.2487))) (core#if ((core#lambda", -" (.it.2494) (core#if .it.2494 .it.2494 #f)) (eqv? .key.2488 (core#quote set!))) ", -"(.transform-k.2481 (.caddr.2452 .e.2486) (core#lambda (.v.2495) (cons (core#quot", -"e set!) (cons (cadr .e.2486) (cons .v.2495 (cons (.k.2487 (core#quote (undefined", -"))) (core#quote ()))))))) (core#if ((core#lambda (.it.2496) (core#if .it.2496 .i", -"t.2496 #f)) (eqv? .key.2488 (core#quote if))) ((core#lambda (.v.2497 .c.2498) (c", -"ons (cons (core#quote lambda) (cons (cons .c.2498 (core#quote ())) (cons (.trans", -"form-k.2481 (cadr .e.2486) (core#lambda (.x.2499) (cons (core#quote if) (cons .x", -".2499 (cons (.transform-c.2483 (.caddr.2452 .e.2486) .c.2498) (cons (.transform-", -"c.2483 (.cadddr.2453 .e.2486) .c.2498) (core#quote ()))))))) (core#quote ())))) ", -"(cons (cons (core#quote lambda) (cons (cons .v.2497 (core#quote ())) (cons (.k.2", -"487 (cons (core#quote ref) (cons .v.2497 (core#quote ())))) (core#quote ())))) (", -"core#quote ())))) (.uniq.2480) (cons (core#quote ref) (cons (.uniq.2480) (core#q", -"uote ())))) (core#if #t ((core#lambda (.v.2500) ((core#lambda (.c.2501) ((core#l", -"ambda () (.transform-k.2481 (car .e.2486) (core#lambda (.f.2502) (.transform*-k.", -"2482 (cdr .e.2486) (core#lambda (.args.2503) (cons .f.2502 (cons .c.2501 (append", -" .args.2503 (core#quote ()))))))))))) (cons (core#quote lambda) (cons (cons .v.2", -"500 (core#quote ())) (cons (.k.2487 (cons (core#quote ref) (cons .v.2500 (core#q", -"uote ())))) (core#quote ())))))) (.uniq.2480)) #undefined)))))) (car .e.2486))))", -" (core#begin (core#define .transform*-k.2482 (core#lambda (.es.2504 .k.2505) (co", -"re#if (null? .es.2504) (.k.2505 (core#quote ())) (.transform-k.2481 (car .es.250", -"4) (core#lambda (.x.2506) (.transform*-k.2482 (cdr .es.2504) (core#lambda (.xs.2", -"507) (.k.2505 (cons .x.2506 .xs.2507))))))))) (core#begin (core#define .transfor", -"m-c.2483 (core#lambda (.e.2508 .c.2509) ((core#lambda (.key.2510) (core#if ((cor", -"e#lambda (.it.2511) (core#if .it.2511 .it.2511 ((core#lambda (.it.2512) (core#if", -" .it.2512 .it.2512 ((core#lambda (.it.2513) (core#if .it.2513 .it.2513 #f)) (eqv", -"? .key.2510 (core#quote quote))))) (eqv? .key.2510 (core#quote lambda))))) (eqv?", -" .key.2510 (core#quote ref))) (cons .c.2509 (cons (.transform-v.2484 .e.2508) (c", -"ore#quote ()))) (core#if ((core#lambda (.it.2514) (core#if .it.2514 .it.2514 #f)", -") (eqv? .key.2510 (core#quote begin))) (.transform-k.2481 (cadr .e.2508) (core#l", -"ambda (._.2515) (.transform-c.2483 (.caddr.2452 .e.2508) .c.2509))) (core#if ((c", -"ore#lambda (.it.2516) (core#if .it.2516 .it.2516 #f)) (eqv? .key.2510 (core#quot", -"e set!))) (.transform-k.2481 (.caddr.2452 .e.2508) (core#lambda (.v.2517) (cons ", -"(core#quote set!) (cons (cadr .e.2508) (cons .v.2517 (cons (cons .c.2509 (cons (", -"cons (core#quote undefined) (core#quote ())) (core#quote ()))) (core#quote ())))", -")))) (core#if ((core#lambda (.it.2518) (core#if .it.2518 .it.2518 #f)) (eqv? .ke", -"y.2510 (core#quote if))) (core#if (core#if (pair? .c.2509) (eq? (core#quote lamb", -"da) (car .c.2509)) #f) ((core#lambda (.k.2519) (cons (cons (core#quote lambda) (", -"cons (cons .k.2519 (core#quote ())) (cons (.transform-k.2481 (cadr .e.2508) (cor", -"e#lambda (.x.2520) (cons (core#quote if) (cons .x.2520 (cons (.transform-c.2483 ", -"(.caddr.2452 .e.2508) .k.2519) (cons (.transform-c.2483 (.cadddr.2453 .e.2508) .", -"k.2519) (core#quote ()))))))) (core#quote ())))) (cons .c.2509 (core#quote ())))", -") (cons (core#quote ref) (cons (.uniq.2480) (core#quote ())))) (.transform-k.248", -"1 (cadr .e.2508) (core#lambda (.x.2521) (cons (core#quote if) (cons .x.2521 (con", -"s (.transform-c.2483 (.caddr.2452 .e.2508) .c.2509) (cons (.transform-c.2483 (.c", -"adddr.2453 .e.2508) .c.2509) (core#quote ())))))))) (core#if #t (.transform-k.24", -"81 (car .e.2508) (core#lambda (.f.2522) (.transform*-k.2482 (cdr .e.2508) (core#", -"lambda (.args.2523) (cons .f.2522 (cons .c.2509 (append .args.2523 (core#quote (", -"))))))))) #undefined)))))) (car .e.2508)))) (core#begin (core#define .transform-", -"v.2484 (core#lambda (.e.2524) ((core#lambda (.key.2525) (core#if ((core#lambda (", -".it.2526) (core#if .it.2526 .it.2526 ((core#lambda (.it.2527) (core#if .it.2527 ", -".it.2527 #f)) (eqv? .key.2525 (core#quote quote))))) (eqv? .key.2525 (core#quote", -" ref))) .e.2524 (core#if ((core#lambda (.it.2528) (core#if .it.2528 .it.2528 #f)", -") (eqv? .key.2525 (core#quote lambda))) ((core#lambda (.k.2529) (cons (core#quot", -"e lambda) (cons (cons .k.2529 (append (cadr .e.2524) (core#quote ()))) (cons (.t", -"ransform-c.2483 (.caddr.2452 .e.2524) (cons (core#quote ref) (cons .k.2529 (core", -"#quote ())))) (core#quote ()))))) (.uniq.2480)) #undefined))) (car .e.2524)))) (", -"core#lambda (.e.2530) ((core#lambda (.k.2531) (cons (core#quote lambda) (cons (c", -"ons .k.2531 (core#quote ())) (cons (.transform-c.2483 .e.2530 (cons (core#quote ", -"ref) (cons .k.2531 (core#quote ())))) (core#quote ()))))) (.uniq.2480)))))))))))", -" (core#begin (core#define .codegen.2458 ((core#lambda () (core#begin (core#defin", -"e .lookup.2532 (core#lambda (.var.2544 .env.2545) ((core#lambda () (core#begin (", -"core#define .up.2546 (core#lambda (.depth.2547 .env.2548) (core#if (null? .env.2", -"548) (cons (core#quote global) (cons (.emit-objs.2539 .var.2544) (core#quote ())", -")) ((core#lambda () (core#begin (core#define .loop.2549 (core#lambda (.index.255", -"0 .binding.2551) (core#if (symbol? .binding.2551) (core#if (eq? .var.2544 .bindi", -"ng.2551) (cons (core#quote local) (cons .depth.2547 (cons .index.2550 (core#quot", -"e ())))) (.up.2546 (+ .depth.2547 1) (cdr .env.2548))) (core#if (null? .binding.", -"2551) (.up.2546 (+ .depth.2547 1) (cdr .env.2548)) (core#if (eq? .var.2544 (car ", -".binding.2551)) (cons (core#quote local) (cons .depth.2547 (cons .index.2550 (co", -"re#quote ())))) (.loop.2549 (+ .index.2550 1) (cdr .binding.2551))))))) (.loop.2", -"549 1 (car .env.2548)))))))) (.up.2546 0 .env.2545)))))) (core#begin (core#defin", -"e .env.2533 (make-parameter (core#quote ()))) (core#begin (core#define .code.253", -"4 (make-parameter (core#quote ()))) (core#begin (core#define .reps.2535 (make-pa", -"rameter (core#quote ()))) (core#begin (core#define .objs.2536 (make-parameter (c", -"ore#quote ()))) (core#begin (core#define .emit.2537 (core#lambda (.inst.2552) (.", -"code.2534 (cons .inst.2552 (.code.2534))))) (core#begin (core#define .emit-irep.", -"2538 (core#lambda (.irep.2553) ((core#lambda (.n.2554) (core#begin (.reps.2535 (", -"cons .irep.2553 (.reps.2535))) .n.2554)) (length (.reps.2535))))) (core#begin (c", -"ore#define .emit-objs.2539 (core#lambda (.obj.2555) ((core#lambda (.n.2556) (cor", -"e#begin (.objs.2536 (cons .obj.2555 (.objs.2536))) .n.2556)) (length (.objs.2536", -"))))) (core#begin (core#define .make-label.2540 ((core#lambda (.n.2557) (core#la", -"mbda () ((core#lambda (.m.2558) (core#begin (core#set! .n.2557 (+ .n.2557 1)) .m", -".2558)) .n.2557))) 0)) (core#begin (core#define .emit-label.2541 (core#lambda (.", -"label.2559) (.code.2534 (cons .label.2559 (.code.2534))))) (core#begin (core#def", -"ine .codegen-e.2542 (core#lambda (.e.2560) ((core#lambda (.key.2561) (core#if ((", -"core#lambda (.it.2562) (core#if .it.2562 .it.2562 ((core#lambda (.it.2563) (core", -"#if .it.2563 .it.2563 ((core#lambda (.it.2564) (core#if .it.2564 .it.2564 ((core", -"#lambda (.it.2565) (core#if .it.2565 .it.2565 #f)) (eqv? .key.2561 (core#quote u", -"ndefined))))) (eqv? .key.2561 (core#quote quote))))) (eqv? .key.2561 (core#quote", -" lambda))))) (eqv? .key.2561 (core#quote ref))) (.codegen-a.2543 .e.2560 0) (cor", -"e#if ((core#lambda (.it.2566) (core#if .it.2566 .it.2566 #f)) (eqv? .key.2561 (c", -"ore#quote set!))) (core#begin (.codegen-a.2543 (.caddr.2452 .e.2560) 0) (core#be", -"gin ((core#lambda (.x.2567) ((core#lambda (.op.2568) ((core#lambda () (.emit.253", -"7 (cons .op.2568 (cons (core#quote 0) (cdr .x.2567))))))) (core#if (eq? (core#qu", -"ote global) (car .x.2567)) (core#quote GSET) (core#quote LSET)))) (.lookup.2532 ", -"(cadr .e.2560) (.env.2533))) (.codegen-e.2542 (.cadddr.2453 .e.2560)))) (core#if", -" ((core#lambda (.it.2569) (core#if .it.2569 .it.2569 #f)) (eqv? .key.2561 (core#", -"quote if))) (core#begin (.codegen-a.2543 (cadr .e.2560) 0) ((core#lambda (.label", -".2570) (core#begin (.emit.2537 (cons (core#quote COND) (cons (core#quote 0) (con", -"s .label.2570 (core#quote ()))))) (core#begin (.codegen-e.2542 (.caddr.2452 .e.2", -"560)) (core#begin (.emit-label.2541 .label.2570) (.codegen-e.2542 (.cadddr.2453 ", -".e.2560)))))) (.make-label.2540))) (core#if #t (core#begin ((core#lambda () (cor", -"e#begin (core#define .loop.2571 (core#lambda (.i.2572 .e.2573) (core#if (null? .", -"e.2573) #undefined (core#begin (.codegen-a.2543 (car .e.2573) .i.2572) (.loop.25", -"71 (+ .i.2572 1) (cdr .e.2573)))))) (.loop.2571 0 .e.2560)))) (.emit.2537 (cons ", -"(core#quote CALL) (cons (length .e.2560) (core#quote ()))))) #undefined))))) (ca", -"r .e.2560)))) (core#begin (core#define .codegen-a.2543 (core#lambda (.e.2574 .i.", -"2575) ((core#lambda (.key.2576) (core#if ((core#lambda (.it.2577) (core#if .it.2", -"577 .it.2577 #f)) (eqv? .key.2576 (core#quote ref))) ((core#lambda (.x.2578) ((c", -"ore#lambda (.op.2579) ((core#lambda () (.emit.2537 (cons .op.2579 (cons .i.2575 ", -"(cdr .x.2578))))))) (core#if (eq? (core#quote global) (car .x.2578)) (core#quote", -" GREF) (core#quote LREF)))) (.lookup.2532 (cadr .e.2574) (.env.2533))) (core#if ", -"((core#lambda (.it.2580) (core#if .it.2580 .it.2580 #f)) (eqv? .key.2576 (core#q", -"uote quote))) ((core#lambda (.obj.2581) (core#if (eq? #t .obj.2581) (.emit.2537 ", -"(cons (core#quote LOADT) (cons .i.2575 (core#quote ())))) (core#if (eq? #f .obj.", -"2581) (.emit.2537 (cons (core#quote LOADF) (cons .i.2575 (core#quote ())))) (cor", -"e#if (null? .obj.2581) (.emit.2537 (cons (core#quote LOADN) (cons .i.2575 (core#", -"quote ())))) (core#if (core#if (.integer?.2455 .obj.2581) (<= -128 .obj.2581 127", -") #f) (.emit.2537 (cons (core#quote LOADI) (cons .i.2575 (cons .obj.2581 (core#q", -"uote ()))))) ((core#lambda (.n.2582) (.emit.2537 (cons (core#quote LOAD) (cons .", -"i.2575 (cons .n.2582 (core#quote ())))))) (emit-obj .obj.2581))))))) (cadr .e.25", -"74)) (core#if ((core#lambda (.it.2583) (core#if .it.2583 .it.2583 #f)) (eqv? .ke", -"y.2576 (core#quote undefined))) (.emit.2537 (cons (core#quote LOADU) (cons .i.25", -"75 (core#quote ())))) (core#if ((core#lambda (.it.2584) (core#if .it.2584 .it.25", -"84 #f)) (eqv? .key.2576 (core#quote lambda))) ((core#lambda (.frame-size.2585 .a", -"rgc-varg.2586) ((core#lambda (.irep.2587) ((core#lambda (.n.2588) (.emit.2537 (c", -"ons (core#quote PROC) (cons .i.2575 (cons .n.2588 (core#quote ())))))) (.emit-ir", -"ep.2538 .irep.2587))) (with-dynamic-environment (list (cons .code.2534 (core#quo", -"te ())) (cons .env.2533 (cons (cadr .e.2574) (.env.2533))) (cons .reps.2535 (cor", -"e#quote ())) (cons .objs.2536 (core#quote ()))) (core#lambda () (core#begin (.co", -"degen-e.2542 (.caddr.2452 .e.2574)) (list (reverse (.code.2534)) (reverse (.reps", -".2535)) (reverse (.objs.2536)) .argc-varg.2586 .frame-size.2585)))))) ((core#lam", -"bda () (core#begin (core#define .loop.2589 (core#lambda (.e.2590) ((core#lambda ", -"(.key.2591) (core#if ((core#lambda (.it.2592) (core#if .it.2592 .it.2592 ((core#", -"lambda (.it.2593) (core#if .it.2593 .it.2593 ((core#lambda (.it.2594) (core#if .", -"it.2594 .it.2594 ((core#lambda (.it.2595) (core#if .it.2595 .it.2595 #f)) (eqv? ", -".key.2591 (core#quote undefined))))) (eqv? .key.2591 (core#quote quote))))) (eqv", -"? .key.2591 (core#quote lambda))))) (eqv? .key.2591 (core#quote ref))) 1 (core#i", -"f ((core#lambda (.it.2596) (core#if .it.2596 .it.2596 #f)) (eqv? .key.2591 (core", -"#quote if))) (.max.2454 (.loop.2589 (.caddr.2452 .e.2590)) (.loop.2589 (.cadddr.", -"2453 .e.2590))) (core#if ((core#lambda (.it.2597) (core#if .it.2597 .it.2597 #f)", -") (eqv? .key.2591 (core#quote set!))) (.loop.2589 (.cadddr.2453 .e.2590)) (core#", -"if #t (+ 1 (length .e.2590)) #undefined))))) (car .e.2590)))) (.loop.2589 (.cadd", -"r.2452 .e.2574))))) ((core#lambda () (core#begin (core#define .loop.2598 (core#l", -"ambda (.args.2599 .c.2600) (core#if (symbol? .args.2599) (cons (+ 1 .c.2600) #t)", -" (core#if (null? .args.2599) (cons .c.2600 #f) (.loop.2598 (cdr .args.2599) (+ 1", -" .c.2600)))))) (.loop.2598 (cadr .e.2574) 0))))) #undefined))))) (car .e.2574)))", -") (core#lambda (.e.2601) (with-dynamic-environment (list (cons .code.2534 (core#", -"quote ())) (cons .env.2533 (core#quote ())) (cons .reps.2535 (core#quote ())) (c", -"ons .objs.2536 (core#quote ()))) (core#lambda () (core#begin (.codegen-e.2542 .e", -".2601) (car (.reps.2535))))))))))))))))))))) (core#lambda (.e.2602) (.codegen.24", -"58 (.transform.2457 (.normalize.2456 .e.2602)))))))))))))) (core#lambda (.compil", -"e.2603) (core#set! compile .compile.2603)))) (core#define eval (core#lambda (.ex", -"pr.2604 . .env.2605) (load (expand .expr.2604 (core#if (null? .env.2605) default", -"-environment (car .env.2605)))))))))", +" (length .form.2320) 2) ((core#lambda (.obj.2322) (core#if (pair? .obj.2322) (co", +"ns (.the.2298 (core#quote cons)) (cons (cons .the-quote.2312 (cons (car .obj.232", +"2) (core#quote ()))) (cons (cons .the-quote.2312 (cons (cdr .obj.2322) (core#quo", +"te ()))) (core#quote ())))) (core#if (vector? .obj.2322) (cons (.the.2298 (core#", +"quote vector)) (vector->list (vector-map (core#lambda (.obj.2323) (cons .the-quo", +"te.2312 (cons .obj.2323 (core#quote ())))) .obj.2322))) (cons .the-core-quote.23", +"05 (cons .obj.2322 (core#quote ())))))) (cadr .form.2320)) (error \"malformed quo", +"te\" .form.2320)))) (core#begin (.define-transformer.2297 (core#quote if) (core#l", +"ambda (.form.2324 .env.2325) ((core#lambda (.len.2326) (core#if (= .len.2326 3) ", +"(append .form.2324 (cons (core#quote #undefined) (core#quote ()))) (core#if (= .", +"len.2326 4) (cons .the-core-if.2307 (cdr .form.2324)) (error \"malformed if\" .for", +"m.2324)))) (length .form.2324)))) (core#begin (.define-transformer.2297 (core#qu", +"ote begin) (core#lambda (.form.2327 .env.2328) ((core#lambda (.len.2329) (core#i", +"f (= .len.2329 1) #undefined (core#if (= .len.2329 2) (cadr .form.2327) (core#if", +" (= .len.2329 3) (cons .the-core-begin.2304 (cdr .form.2327)) (cons .the-core-be", +"gin.2304 (cons (cadr .form.2327) (cons (cons .the-begin.2311 (cddr .form.2327)) ", +"(core#quote ())))))))) (length .form.2327)))) (core#begin (.define-transformer.2", +"297 (core#quote set!) (core#lambda (.form.2330 .env.2331) (core#if (core#if (= (", +"length .form.2330) 3) (identifier? (cadr .form.2330)) #f) (cons .the-core-set!.2", +"306 (cdr .form.2330)) (error \"malformed set!\" .form.2330)))) (core#begin (core#d", +"efine .check-formal.2316 (core#lambda (.formal.2332) ((core#lambda (.it.2333) (c", +"ore#if .it.2333 .it.2333 ((core#lambda (.it.2334) (core#if .it.2334 .it.2334 ((c", +"ore#lambda (.it.2335) (core#if .it.2335 .it.2335 #f)) (core#if (pair? .formal.23", +"32) (core#if (identifier? (car .formal.2332)) (.check-formal.2316 (cdr .formal.2", +"332)) #f) #f)))) (identifier? .formal.2332)))) (null? .formal.2332)))) (core#beg", +"in (.define-transformer.2297 (core#quote lambda) (core#lambda (.form.2336 .env.2", +"337) (core#if (= (length .form.2336) 1) (error \"malformed lambda\" .form.2336) (c", +"ore#if (.check-formal.2316 (cadr .form.2336)) (cons .the-core-lambda.2303 (cons ", +"(cadr .form.2336) (cons (cons .the-begin.2311 (cddr .form.2336)) (core#quote ())", +"))) (error \"malformed lambda\" .form.2336))))) (core#begin (.define-transformer.2", +"297 (core#quote define) (core#lambda (.form.2338 .env.2339) ((core#lambda (.len.", +"2340) (core#if (= .len.2340 1) (error \"malformed define\" .form.2338) ((core#lamb", +"da (.formal.2341) (core#if (identifier? .formal.2341) (core#if (= .len.2340 3) (", +"cons .the-core-define.2302 (cdr .form.2338)) (error \"malformed define\" .form.233", +"8)) (core#if (pair? .formal.2341) (cons .the-define.2309 (cons (car .formal.2341", +") (cons (cons .the-lambda.2310 (cons (cdr .formal.2341) (cddr .form.2338))) (cor", +"e#quote ())))) (error \"define: binding to non-varaible object\" .form.2338)))) (c", +"adr .form.2338)))) (length .form.2338)))) (core#begin (.define-transformer.2297 ", +"(core#quote define-macro) (core#lambda (.form.2342 .env.2343) (core#if (= (lengt", +"h .form.2342) 3) (core#if (identifier? (cadr .form.2342)) (cons .the-core-define", +"-macro.2308 (cdr .form.2342)) (error \"define-macro: binding to non-variable obje", +"ct\" .form.2342)) (error \"malformed define-macro\" .form.2342)))) (core#begin #und", +"efined (core#begin (.define-transformer.2297 (core#quote else) (core#lambda ._.2", +"344 (error \"invalid use of auxiliary syntax\" (core#quote else)))) (core#begin (.", +"define-transformer.2297 (core#quote =>) (core#lambda ._.2345 (error \"invalid use", +" of auxiliary syntax\" (core#quote =>)))) (core#begin (.define-transformer.2297 (", +"core#quote unquote) (core#lambda ._.2346 (error \"invalid use of auxiliary syntax", +"\" (core#quote unquote)))) (core#begin (.define-transformer.2297 (core#quote unqu", +"ote-splicing) (core#lambda ._.2347 (error \"invalid use of auxiliary syntax\" (cor", +"e#quote unquote-splicing)))) (core#begin (.define-transformer.2297 (core#quote l", +"et) (core#lambda (.form.2348 .env.2349) (core#if (identifier? (cadr .form.2348))", +" ((core#lambda (.name.2350 .formal.2351 .body.2352) (cons (cons .the-lambda.2310", +" (cons (core#quote ()) (cons (cons .the-define.2309 (cons (cons .name.2350 (map ", +"car .formal.2351)) .body.2352)) (cons (cons .name.2350 (map cadr .formal.2351)) ", +"(core#quote ()))))) (core#quote ()))) (car (cdr .form.2348)) (car (cdr (cdr .for", +"m.2348))) (cdr (cdr (cdr .form.2348)))) ((core#lambda (.formal.2353 .body.2354) ", +"(cons (cons .the-lambda.2310 (cons (map car .formal.2353) .body.2354)) (map cadr", +" .formal.2353))) (car (cdr .form.2348)) (cdr (cdr .form.2348)))))) (core#begin (", +".define-transformer.2297 (core#quote and) (core#lambda (.form.2355 .env.2356) (c", +"ore#if (null? (cdr .form.2355)) #t (core#if (null? (cddr .form.2355)) (cadr .for", +"m.2355) (cons .the-if.2314 (cons (cadr .form.2355) (cons (cons (.the.2298 (core#", +"quote and)) (cddr .form.2355)) (cons (core#quote #f) (core#quote ()))))))))) (co", +"re#begin (.define-transformer.2297 (core#quote or) (core#lambda (.form.2357 .env", +".2358) (core#if (null? (cdr .form.2357)) #f ((core#lambda (.tmp.2359) (cons (.th", +"e.2298 (core#quote let)) (cons (cons (cons .tmp.2359 (cons (cadr .form.2357) (co", +"re#quote ()))) (core#quote ())) (cons (cons .the-if.2314 (cons .tmp.2359 (cons .", +"tmp.2359 (cons (cons (.the.2298 (core#quote or)) (cddr .form.2357)) (core#quote ", +"()))))) (core#quote ()))))) (make-identifier (core#quote it) .env.2358))))) (cor", +"e#begin (.define-transformer.2297 (core#quote cond) (core#lambda (.form.2360 .en", +"v.2361) ((core#lambda (.clauses.2362) (core#if (null? .clauses.2362) #undefined ", +"((core#lambda (.clause.2363) (core#if (core#if (identifier? (car .clause.2363)) ", +"(identifier=? (.the.2298 (core#quote else)) (make-identifier (car .clause.2363) ", +".env.2361)) #f) (cons .the-begin.2311 (cdr .clause.2363)) (core#if (null? (cdr .", +"clause.2363)) (cons (.the.2298 (core#quote or)) (cons (car .clause.2363) (cons (", +"cons (.the.2298 (core#quote cond)) (cdr .clauses.2362)) (core#quote ())))) (core", +"#if (core#if (identifier? (cadr .clause.2363)) (identifier=? (.the.2298 (core#qu", +"ote =>)) (make-identifier (cadr .clause.2363) .env.2361)) #f) ((core#lambda (.tm", +"p.2364) (cons (.the.2298 (core#quote let)) (cons (cons (cons .tmp.2364 (cons (ca", +"r .clause.2363) (core#quote ()))) (core#quote ())) (cons (cons .the-if.2314 (con", +"s .tmp.2364 (cons (cons (cadr (cdr .clause.2363)) (cons .tmp.2364 (core#quote ()", +"))) (cons (cons (.the.2298 (core#quote cond)) (cddr .form.2360)) (core#quote ())", +")))) (core#quote ()))))) (make-identifier (core#quote tmp) .env.2361)) (cons .th", +"e-if.2314 (cons (car .clause.2363) (cons (cons .the-begin.2311 (cdr .clause.2363", +")) (cons (cons (.the.2298 (core#quote cond)) (cdr .clauses.2362)) (core#quote ()", +"))))))))) (car .clauses.2362)))) (cdr .form.2360)))) (core#begin (.define-transf", +"ormer.2297 (core#quote quasiquote) (core#lambda (.form.2365 .env.2366) (core#beg", +"in (core#define .quasiquote?.2367 (core#lambda (.form.2371) (core#if (pair? .for", +"m.2371) (core#if (identifier? (car .form.2371)) (identifier=? (.the.2298 (core#q", +"uote quasiquote)) (make-identifier (car .form.2371) .env.2366)) #f) #f))) (core#", +"begin (core#define .unquote?.2368 (core#lambda (.form.2372) (core#if (pair? .for", +"m.2372) (core#if (identifier? (car .form.2372)) (identifier=? (.the.2298 (core#q", +"uote unquote)) (make-identifier (car .form.2372) .env.2366)) #f) #f))) (core#beg", +"in (core#define .unquote-splicing?.2369 (core#lambda (.form.2373) (core#if (pair", +"? .form.2373) (core#if (pair? (car .form.2373)) (core#if (identifier? (caar .for", +"m.2373)) (identifier=? (.the.2298 (core#quote unquote-splicing)) (make-identifie", +"r (caar .form.2373) .env.2366)) #f) #f) #f))) (core#begin (core#define .qq.2370 ", +"(core#lambda (.depth.2374 .expr.2375) (core#if (.unquote?.2368 .expr.2375) (core", +"#if (= .depth.2374 1) (cadr .expr.2375) (list (.the.2298 (core#quote list)) (lis", +"t (.the.2298 (core#quote quote)) (.the.2298 (core#quote unquote))) (.qq.2370 (- ", +".depth.2374 1) (car (cdr .expr.2375))))) (core#if (.unquote-splicing?.2369 .expr", +".2375) (core#if (= .depth.2374 1) (list (.the.2298 (core#quote append)) (car (cd", +"r (car .expr.2375))) (.qq.2370 .depth.2374 (cdr .expr.2375))) (list (.the.2298 (", +"core#quote cons)) (list (.the.2298 (core#quote list)) (list (.the.2298 (core#quo", +"te quote)) (.the.2298 (core#quote unquote-splicing))) (.qq.2370 (- .depth.2374 1", +") (car (cdr (car .expr.2375))))) (.qq.2370 .depth.2374 (cdr .expr.2375)))) (core", +"#if (.quasiquote?.2367 .expr.2375) (list (.the.2298 (core#quote list)) (list (.t", +"he.2298 (core#quote quote)) (.the.2298 (core#quote quasiquote))) (.qq.2370 (+ .d", +"epth.2374 1) (car (cdr .expr.2375)))) (core#if (pair? .expr.2375) (list (.the.22", +"98 (core#quote cons)) (.qq.2370 .depth.2374 (car .expr.2375)) (.qq.2370 .depth.2", +"374 (cdr .expr.2375))) (core#if (vector? .expr.2375) (list (.the.2298 (core#quot", +"e list->vector)) (.qq.2370 .depth.2374 (vector->list .expr.2375))) (list (.the.2", +"298 (core#quote quote)) .expr.2375)))))))) ((core#lambda (.x.2376) (.qq.2370 1 .", +"x.2376)) (cadr .form.2365)))))))) (core#begin (.define-transformer.2297 (core#qu", +"ote let*) (core#lambda (.form.2377 .env.2378) ((core#lambda (.bindings.2379 .bod", +"y.2380) (core#if (null? .bindings.2379) (cons (.the.2298 (core#quote let)) (cons", +" (core#quote ()) .body.2380)) (cons (.the.2298 (core#quote let)) (cons (cons (co", +"ns (car (car .bindings.2379)) (cdr (car .bindings.2379))) (core#quote ())) (cons", +" (cons (.the.2298 (core#quote let*)) (cons (cdr .bindings.2379) .body.2380)) (co", +"re#quote ())))))) (car (cdr .form.2377)) (cdr (cdr .form.2377))))) (core#begin (", +".define-transformer.2297 (core#quote letrec) (core#lambda (.form.2381 .env.2382)", +" (cons (.the.2298 (core#quote letrec*)) (cdr .form.2381)))) (core#begin (.define", +"-transformer.2297 (core#quote letrec*) (core#lambda (.form.2383 .env.2384) ((cor", +"e#lambda (.bindings.2385 .body.2386) ((core#lambda (.variables.2387 .initials.23", +"88) (cons (.the.2298 (core#quote let)) (cons .variables.2387 (append .initials.2", +"388 (append .body.2386 (core#quote ())))))) (map (core#lambda (.v.2389) (cons .v", +".2389 (cons (core#quote #undefined) (core#quote ())))) (map car .bindings.2385))", +" (map (core#lambda (.v.2390) (cons (.the.2298 (core#quote set!)) (append .v.2390", +" (core#quote ())))) .bindings.2385))) (car (cdr .form.2383)) (cdr (cdr .form.238", +"3))))) (core#begin (.define-transformer.2297 (core#quote let-values) (core#lambd", +"a (.form.2391 .env.2392) (cons (.the.2298 (core#quote let*-values)) (append (cdr", +" .form.2391) (core#quote ()))))) (core#begin (.define-transformer.2297 (core#quo", +"te let*-values) (core#lambda (.form.2393 .env.2394) ((core#lambda (.formals.2395", +" .body.2396) (core#if (null? .formals.2395) (cons (.the.2298 (core#quote let)) (", +"cons (core#quote ()) (append .body.2396 (core#quote ())))) ((core#lambda (.forma", +"l.2397) (cons (.the.2298 (core#quote call-with-values)) (cons (cons .the-lambda.", +"2310 (cons (core#quote ()) (cdr .formal.2397))) (cons (cons (.the.2298 (core#quo", +"te lambda)) (cons (car .formal.2397) (cons (cons (.the.2298 (core#quote let*-val", +"ues)) (cons (cdr .formals.2395) .body.2396)) (core#quote ())))) (core#quote ()))", +"))) (car .formals.2395)))) (cadr .form.2393) (cddr .form.2393)))) (core#begin (.", +"define-transformer.2297 (core#quote define-values) (core#lambda (.form.2398 .env", +".2399) ((core#lambda (.formal.2400 .body.2401) ((core#lambda (.tmps.2402) (cons ", +".the-begin.2311 (append ((core#lambda () (core#begin (core#define .loop.2403 (co", +"re#lambda (.formal.2404) (core#if (identifier? .formal.2404) (cons (cons .the-de", +"fine.2309 (cons .formal.2404 (cons (core#quote #undefined) (core#quote ())))) (c", +"ore#quote ())) (core#if (pair? .formal.2404) (cons (cons .the-define.2309 (cons ", +"(car .formal.2404) (cons (core#quote #undefined) (core#quote ())))) (.loop.2403 ", +"(cdr .formal.2404))) (core#quote ()))))) (.loop.2403 .formal.2400)))) (cons (con", +"s (.the.2298 (core#quote call-with-values)) (cons (cons .the-lambda.2310 (cons (", +"core#quote ()) .body.2401)) (cons (cons .the-lambda.2310 (cons .tmps.2402 ((core", +"#lambda () (core#begin (core#define .loop.2405 (core#lambda (.formal.2406 .tmps.", +"2407) (core#if (identifier? .formal.2406) (cons (cons .the-set!.2313 (cons .form", +"al.2406 (cons .tmps.2407 (core#quote ())))) (core#quote ())) (core#if (pair? .fo", +"rmal.2406) (cons (cons .the-set!.2313 (cons (car .formal.2406) (cons (car .tmps.", +"2407) (core#quote ())))) (.loop.2405 (cdr .formal.2406) (cdr .tmps.2407))) (core", +"#quote ()))))) (.loop.2405 .formal.2400 .tmps.2402)))))) (core#quote ())))) (cor", +"e#quote ()))))) ((core#lambda () (core#begin (core#define .loop.2408 (core#lambd", +"a (.formal.2409) (core#if (identifier? .formal.2409) (make-identifier .formal.24", +"09 .env.2399) (core#if (pair? .formal.2409) (cons (make-identifier (car .formal.", +"2409) .env.2399) (.loop.2408 (cdr .formal.2409))) (core#quote ()))))) (.loop.240", +"8 .formal.2400)))))) (cadr .form.2398) (cddr .form.2398)))) (core#begin (.define", +"-transformer.2297 (core#quote do) (core#lambda (.form.2410 .env.2411) ((core#lam", +"bda (.bindings.2412 .test.2413 .cleanup.2414 .body.2415) ((core#lambda (.loop.24", +"16) (cons (.the.2298 (core#quote let)) (cons .loop.2416 (cons (map (core#lambda ", +"(.x.2417) (cons (car .x.2417) (cons (cadr .x.2417) (core#quote ())))) .bindings.", +"2412) (cons (cons .the-if.2314 (cons .test.2413 (cons (cons .the-begin.2311 .cle", +"anup.2414) (cons (cons .the-begin.2311 (append .body.2415 (cons (cons .loop.2416", +" (map (core#lambda (.x.2418) (core#if (null? (cdr (cdr .x.2418))) (car .x.2418) ", +"(car (cdr (cdr .x.2418))))) .bindings.2412)) (core#quote ())))) (core#quote ()))", +"))) (core#quote ())))))) (make-identifier (core#quote loop) .env.2411))) (car (c", +"dr .form.2410)) (car (car (cdr (cdr .form.2410)))) (cdr (car (cdr (cdr .form.241", +"0)))) (cdr (cdr (cdr .form.2410)))))) (core#begin (.define-transformer.2297 (cor", +"e#quote when) (core#lambda (.form.2419 .env.2420) ((core#lambda (.test.2421 .bod", +"y.2422) (cons .the-if.2314 (cons .test.2421 (cons (cons .the-begin.2311 (append ", +".body.2422 (core#quote ()))) (cons (core#quote #undefined) (core#quote ())))))) ", +"(car (cdr .form.2419)) (cdr (cdr .form.2419))))) (core#begin (.define-transforme", +"r.2297 (core#quote unless) (core#lambda (.form.2423 .env.2424) ((core#lambda (.t", +"est.2425 .body.2426) (cons .the-if.2314 (cons .test.2425 (cons (core#quote #unde", +"fined) (cons (cons .the-begin.2311 (append .body.2426 (core#quote ()))) (core#qu", +"ote ())))))) (car (cdr .form.2423)) (cdr (cdr .form.2423))))) (core#begin (.defi", +"ne-transformer.2297 (core#quote case) (core#lambda (.form.2427 .env.2428) ((core", +"#lambda (.key.2429 .clauses.2430) ((core#lambda (.the-key.2431) (cons (.the.2298", +" (core#quote let)) (cons (cons (cons .the-key.2431 (cons .key.2429 (core#quote (", +")))) (core#quote ())) (cons ((core#lambda () (core#begin (core#define .loop.2432", +" (core#lambda (.clauses.2433) (core#if (null? .clauses.2433) #undefined ((core#l", +"ambda (.clause.2434) (cons .the-if.2314 (cons (core#if (core#if (identifier? (ca", +"r .clause.2434)) (identifier=? (.the.2298 (core#quote else)) (make-identifier (c", +"ar .clause.2434) .env.2428)) #f) #t (cons (.the.2298 (core#quote or)) (append (m", +"ap (core#lambda (.x.2435) (cons (.the.2298 (core#quote eqv?)) (cons .the-key.243", +"1 (cons (cons .the-quote.2312 (cons .x.2435 (core#quote ()))) (core#quote ()))))", +") (car .clause.2434)) (core#quote ())))) (cons (core#if (core#if (identifier? (c", +"adr .clause.2434)) (identifier=? (.the.2298 (core#quote =>)) (make-identifier (c", +"adr .clause.2434) .env.2428)) #f) (cons (car (cdr (cdr .clause.2434))) (cons .th", +"e-key.2431 (core#quote ()))) (cons .the-begin.2311 (append (cdr .clause.2434) (c", +"ore#quote ())))) (cons (.loop.2432 (cdr .clauses.2433)) (core#quote ())))))) (ca", +"r .clauses.2433))))) (.loop.2432 .clauses.2430)))) (core#quote ()))))) (make-ide", +"ntifier (core#quote key) .env.2428))) (car (cdr .form.2427)) (cdr (cdr .form.242", +"7))))) (core#begin (.define-transformer.2297 (core#quote parameterize) (core#lam", +"bda (.form.2436 .env.2437) ((core#lambda (.formal.2438 .body.2439) (cons (.the.2", +"298 (core#quote with-dynamic-environment)) (cons (cons (.the.2298 (core#quote li", +"st)) (append (map (core#lambda (.x.2440) (cons (.the.2298 (core#quote cons)) (co", +"ns (car .x.2440) (cons (cadr .x.2440) (core#quote ()))))) .formal.2438) (core#qu", +"ote ()))) (cons (cons .the-lambda.2310 (cons (core#quote ()) (append .body.2439 ", +"(core#quote ())))) (core#quote ()))))) (car (cdr .form.2436)) (cdr (cdr .form.24", +"36))))) (.define-transformer.2297 (core#quote define-record-type) (core#lambda (", +".form.2441 .env.2442) ((core#lambda (.type.2443 .ctor.2444 .pred.2445 .fields.24", +"46) (cons .the-begin.2311 (cons (cons .the-define.2309 (cons .ctor.2444 (cons (c", +"ons (.the.2298 (core#quote make-record)) (cons (cons (core#quote quote) (cons .t", +"ype.2443 (core#quote ()))) (cons (cons (.the.2298 (core#quote vector)) (map (cor", +"e#lambda (.field.2447) (core#if (memq (car .field.2447) (cdr .ctor.2444)) (car .", +"field.2447) #undefined)) .fields.2446)) (core#quote ())))) (core#quote ())))) (c", +"ons (cons .the-define.2309 (cons .pred.2445 (cons (cons (.the.2298 (core#quote l", +"ambda)) (cons (cons (core#quote obj) (core#quote ())) (cons (cons (.the.2298 (co", +"re#quote and)) (cons (cons (.the.2298 (core#quote record?)) (cons (core#quote ob", +"j) (core#quote ()))) (cons (cons (.the.2298 (core#quote eq?)) (cons (cons (.the.", +"2298 (core#quote record-type)) (cons (core#quote obj) (core#quote ()))) (cons (c", +"ons (core#quote quote) (cons .type.2443 (core#quote ()))) (core#quote ())))) (co", +"re#quote ())))) (core#quote ())))) (core#quote ())))) ((core#lambda () (core#beg", +"in (core#define .loop.2448 (core#lambda (.fields.2449 .pos.2450 .acc.2451) (core", +"#if (null? .fields.2449) .acc.2451 ((core#lambda (.field.2452) ((core#lambda (.d", +"efs.2453) (.loop.2448 (cdr .fields.2449) (+ .pos.2450 1) (append .defs.2453 .acc", +".2451))) (cons (cons .the-define.2309 (cons (cons (cadr .field.2452) (cons (core", +"#quote obj) (core#quote ()))) (cons (cons .the-if.2314 (cons (cons .pred.2445 (c", +"ons (core#quote obj) (core#quote ()))) (cons (cons (.the.2298 (core#quote vector", +"-ref)) (cons (cons (.the.2298 (core#quote record-datum)) (cons (core#quote obj) ", +"(core#quote ()))) (cons .pos.2450 (core#quote ())))) (cons (cons (.the.2298 (cor", +"e#quote error)) (cons (core#quote \"record type mismatch\") (cons (core#quote obj)", +" (cons (cons (core#quote quote) (cons .type.2443 (core#quote ()))) (core#quote (", +")))))) (core#quote ()))))) (core#quote ())))) (core#if (null? (cddr .field.2452)", +") (core#quote ()) (cons (cons .the-define.2309 (cons (cons (car (cddr .field.245", +"2)) (cons (core#quote obj) (cons (core#quote value) (core#quote ())))) (cons (co", +"ns .the-if.2314 (cons (cons .pred.2445 (cons (core#quote obj) (core#quote ()))) ", +"(cons (cons (.the.2298 (core#quote vector-set!)) (cons (cons (.the.2298 (core#qu", +"ote record-datum)) (cons (core#quote obj) (core#quote ()))) (cons .pos.2450 (con", +"s (core#quote value) (core#quote ()))))) (cons (cons (.the.2298 (core#quote erro", +"r)) (cons (core#quote \"record type mismatch\") (cons (core#quote obj) (cons (cons", +" (core#quote quote) (cons .type.2443 (core#quote ()))) (core#quote ()))))) (core", +"#quote ()))))) (core#quote ())))) (core#quote ())))))) (car .fields.2449))))) (.", +"loop.2448 .fields.2446 0 (core#quote ()))))))))) (car (cdr .form.2441)) (car (cd", +"r (cdr .form.2441))) (car (cdr (cdr (cdr .form.2441)))) (cdr (cdr (cdr (cdr .for", +"m.2441))))))))))))))))))))))))))))))))))))) (.the.2298 (core#quote core#define))", +" (.the.2298 (core#quote core#lambda)) (.the.2298 (core#quote core#begin)) (.the.", +"2298 (core#quote core#quote)) (.the.2298 (core#quote core#set!)) (.the.2298 (cor", +"e#quote core#if)) (.the.2298 (core#quote core#define-macro)) (.the.2298 (core#qu", +"ote define)) (.the.2298 (core#quote lambda)) (.the.2298 (core#quote begin)) (.th", +"e.2298 (core#quote quote)) (.the.2298 (core#quote set!)) (.the.2298 (core#quote ", +"if)) (.the.2298 (core#quote define-macro))))))) (core#begin (core#begin (core#de", +"fine compile #undefined) (call-with-values (core#lambda () ((core#lambda () (cor", +"e#begin (core#define .caddr.2454 (core#lambda (.x.2461) (car (cddr .x.2461)))) (", +"core#begin (core#define .cadddr.2455 (core#lambda (.x.2462) (cadr (cddr .x.2462)", +"))) (core#begin (core#define .max.2456 (core#lambda (.a.2463 .b.2464) (core#if (", +"< .a.2463 .b.2464) .b.2464 .a.2463))) (core#begin (core#define .integer?.2457 (c", +"ore#lambda (.n.2465) (core#if (number? .n.2465) (exact? .n.2465) #f))) (core#beg", +"in (core#define .normalize.2458 ((core#lambda (.defs.2466) (core#begin (core#def", +"ine .normalize.2467 (core#lambda (.e.2468) (core#if (symbol? .e.2468) (cons (cor", +"e#quote ref) (cons .e.2468 (core#quote ()))) (core#if (not (pair? .e.2468)) (con", +"s (core#quote quote) (cons .e.2468 (core#quote ()))) ((core#lambda (.key.2469) (", +"core#if ((core#lambda (.it.2470) (core#if .it.2470 .it.2470 #f)) (eqv? .key.2469", +" (core#quote core#quote))) (cons (core#quote quote) (cdr .e.2468)) (core#if ((co", +"re#lambda (.it.2471) (core#if .it.2471 .it.2471 #f)) (eqv? .key.2469 (core#quote", +" core#define))) ((core#lambda (.var.2472 .val.2473) (core#begin (.defs.2466 (con", +"s .var.2472 (.defs.2466))) (cons (core#quote set!) (cons .var.2472 (cons (.norma", +"lize.2467 .val.2473) (core#quote ())))))) (cadr .e.2468) (.caddr.2454 .e.2468)) ", +"(core#if ((core#lambda (.it.2474) (core#if .it.2474 .it.2474 #f)) (eqv? .key.246", +"9 (core#quote core#lambda))) ((core#lambda (.args.2475 .body.2476) (with-dynamic", +"-environment (list (cons .defs.2466 (core#quote ()))) (core#lambda () ((core#lam", +"bda (.body.2477) (core#if (null? (.defs.2466)) (cons (core#quote lambda) (cons .", +"args.2475 (cons .body.2477 (core#quote ())))) (cons (core#quote lambda) (cons .a", +"rgs.2475 (cons (cons (cons (core#quote lambda) (cons (.defs.2466) (cons .body.24", +"77 (core#quote ())))) (append (map (core#lambda (._.2478) #f) (.defs.2466)) (cor", +"e#quote ()))) (core#quote ())))))) (.normalize.2467 .body.2476))))) (cadr .e.246", +"8) (.caddr.2454 .e.2468)) (core#if ((core#lambda (.it.2479) (core#if .it.2479 .i", +"t.2479 #f)) (eqv? .key.2469 (core#quote core#set!))) (cons (core#quote set!) (ma", +"p .normalize.2467 (cdr .e.2468))) (core#if ((core#lambda (.it.2480) (core#if .it", +".2480 .it.2480 #f)) (eqv? .key.2469 (core#quote core#if))) (cons (core#quote if)", +" (map .normalize.2467 (cdr .e.2468))) (core#if ((core#lambda (.it.2481) (core#if", +" .it.2481 .it.2481 #f)) (eqv? .key.2469 (core#quote core#begin))) (cons (core#qu", +"ote begin) (map .normalize.2467 (cdr .e.2468))) (core#if #t (map .normalize.2467", +" .e.2468) #undefined)))))))) (car .e.2468)))))) .normalize.2467)) (make-paramete", +"r (core#quote ())))) (core#begin (core#define .transform.2459 ((core#lambda () (", +"core#begin (core#define .uniq.2482 ((core#lambda (.n.2487) (core#lambda () (core", +"#begin (core#set! .n.2487 (+ .n.2487 1)) (string->symbol (string-append \"$\" (num", +"ber->string .n.2487)))))) 0)) (core#begin (core#define .transform-k.2483 (core#l", +"ambda (.e.2488 .k.2489) ((core#lambda (.key.2490) (core#if ((core#lambda (.it.24", +"91) (core#if .it.2491 .it.2491 ((core#lambda (.it.2492) (core#if .it.2492 .it.24", +"92 ((core#lambda (.it.2493) (core#if .it.2493 .it.2493 #f)) (eqv? .key.2490 (cor", +"e#quote quote))))) (eqv? .key.2490 (core#quote lambda))))) (eqv? .key.2490 (core", +"#quote ref))) (.k.2489 (.transform-v.2486 .e.2488)) (core#if ((core#lambda (.it.", +"2494) (core#if .it.2494 .it.2494 #f)) (eqv? .key.2490 (core#quote begin))) (.tra", +"nsform-k.2483 (cadr .e.2488) (core#lambda (._.2495) (.transform-k.2483 (.caddr.2", +"454 .e.2488) .k.2489))) (core#if ((core#lambda (.it.2496) (core#if .it.2496 .it.", +"2496 #f)) (eqv? .key.2490 (core#quote set!))) (.transform-k.2483 (.caddr.2454 .e", +".2488) (core#lambda (.v.2497) (cons (core#quote set!) (cons (cadr .e.2488) (cons", +" .v.2497 (cons (.k.2489 (core#quote (undefined))) (core#quote ()))))))) (core#if", +" ((core#lambda (.it.2498) (core#if .it.2498 .it.2498 #f)) (eqv? .key.2490 (core#", +"quote if))) ((core#lambda (.v.2499 .c.2500) (cons (cons (core#quote lambda) (con", +"s (cons .c.2500 (core#quote ())) (cons (.transform-k.2483 (cadr .e.2488) (core#l", +"ambda (.x.2501) (cons (core#quote if) (cons .x.2501 (cons (.transform-c.2485 (.c", +"addr.2454 .e.2488) .c.2500) (cons (.transform-c.2485 (.cadddr.2455 .e.2488) .c.2", +"500) (core#quote ()))))))) (core#quote ())))) (cons (cons (core#quote lambda) (c", +"ons (cons .v.2499 (core#quote ())) (cons (.k.2489 (cons (core#quote ref) (cons .", +"v.2499 (core#quote ())))) (core#quote ())))) (core#quote ())))) (.uniq.2482) (co", +"ns (core#quote ref) (cons (.uniq.2482) (core#quote ())))) (core#if #t ((core#lam", +"bda (.v.2502) ((core#lambda (.c.2503) ((core#lambda () (.transform-k.2483 (car .", +"e.2488) (core#lambda (.f.2504) (.transform*-k.2484 (cdr .e.2488) (core#lambda (.", +"args.2505) (cons .f.2504 (cons .c.2503 (append .args.2505 (core#quote ()))))))))", +"))) (cons (core#quote lambda) (cons (cons .v.2502 (core#quote ())) (cons (.k.248", +"9 (cons (core#quote ref) (cons .v.2502 (core#quote ())))) (core#quote ())))))) (", +".uniq.2482)) #undefined)))))) (car .e.2488)))) (core#begin (core#define .transfo", +"rm*-k.2484 (core#lambda (.es.2506 .k.2507) (core#if (null? .es.2506) (.k.2507 (c", +"ore#quote ())) (.transform-k.2483 (car .es.2506) (core#lambda (.x.2508) (.transf", +"orm*-k.2484 (cdr .es.2506) (core#lambda (.xs.2509) (.k.2507 (cons .x.2508 .xs.25", +"09))))))))) (core#begin (core#define .transform-c.2485 (core#lambda (.e.2510 .c.", +"2511) ((core#lambda (.key.2512) (core#if ((core#lambda (.it.2513) (core#if .it.2", +"513 .it.2513 ((core#lambda (.it.2514) (core#if .it.2514 .it.2514 ((core#lambda (", +".it.2515) (core#if .it.2515 .it.2515 #f)) (eqv? .key.2512 (core#quote quote)))))", +" (eqv? .key.2512 (core#quote lambda))))) (eqv? .key.2512 (core#quote ref))) (con", +"s .c.2511 (cons (.transform-v.2486 .e.2510) (core#quote ()))) (core#if ((core#la", +"mbda (.it.2516) (core#if .it.2516 .it.2516 #f)) (eqv? .key.2512 (core#quote begi", +"n))) (.transform-k.2483 (cadr .e.2510) (core#lambda (._.2517) (.transform-c.2485", +" (.caddr.2454 .e.2510) .c.2511))) (core#if ((core#lambda (.it.2518) (core#if .it", +".2518 .it.2518 #f)) (eqv? .key.2512 (core#quote set!))) (.transform-k.2483 (.cad", +"dr.2454 .e.2510) (core#lambda (.v.2519) (cons (core#quote set!) (cons (cadr .e.2", +"510) (cons .v.2519 (cons (cons .c.2511 (cons (cons (core#quote undefined) (core#", +"quote ())) (core#quote ()))) (core#quote ()))))))) (core#if ((core#lambda (.it.2", +"520) (core#if .it.2520 .it.2520 #f)) (eqv? .key.2512 (core#quote if))) (core#if ", +"(core#if (pair? .c.2511) (eq? (core#quote lambda) (car .c.2511)) #f) ((core#lamb", +"da (.k.2521) (cons (cons (core#quote lambda) (cons (cons .k.2521 (core#quote ())", +") (cons (.transform-k.2483 (cadr .e.2510) (core#lambda (.x.2522) (cons (core#quo", +"te if) (cons .x.2522 (cons (.transform-c.2485 (.caddr.2454 .e.2510) .k.2521) (co", +"ns (.transform-c.2485 (.cadddr.2455 .e.2510) .k.2521) (core#quote ()))))))) (cor", +"e#quote ())))) (cons .c.2511 (core#quote ())))) (cons (core#quote ref) (cons (.u", +"niq.2482) (core#quote ())))) (.transform-k.2483 (cadr .e.2510) (core#lambda (.x.", +"2523) (cons (core#quote if) (cons .x.2523 (cons (.transform-c.2485 (.caddr.2454 ", +".e.2510) .c.2511) (cons (.transform-c.2485 (.cadddr.2455 .e.2510) .c.2511) (core", +"#quote ())))))))) (core#if #t (.transform-k.2483 (car .e.2510) (core#lambda (.f.", +"2524) (.transform*-k.2484 (cdr .e.2510) (core#lambda (.args.2525) (cons .f.2524 ", +"(cons .c.2511 (append .args.2525 (core#quote ())))))))) #undefined)))))) (car .e", +".2510)))) (core#begin (core#define .transform-v.2486 (core#lambda (.e.2526) ((co", +"re#lambda (.key.2527) (core#if ((core#lambda (.it.2528) (core#if .it.2528 .it.25", +"28 ((core#lambda (.it.2529) (core#if .it.2529 .it.2529 #f)) (eqv? .key.2527 (cor", +"e#quote quote))))) (eqv? .key.2527 (core#quote ref))) .e.2526 (core#if ((core#la", +"mbda (.it.2530) (core#if .it.2530 .it.2530 #f)) (eqv? .key.2527 (core#quote lamb", +"da))) ((core#lambda (.k.2531) (cons (core#quote lambda) (cons (cons .k.2531 (app", +"end (cadr .e.2526) (core#quote ()))) (cons (.transform-c.2485 (.caddr.2454 .e.25", +"26) (cons (core#quote ref) (cons .k.2531 (core#quote ())))) (core#quote ()))))) ", +"(.uniq.2482)) #undefined))) (car .e.2526)))) (core#lambda (.e.2532) ((core#lambd", +"a (.k.2533) (cons (core#quote lambda) (cons (cons .k.2533 (core#quote ())) (cons", +" (.transform-c.2485 .e.2532 (cons (core#quote ref) (cons .k.2533 (core#quote ())", +"))) (core#quote ()))))) (.uniq.2482))))))))))) (core#begin (core#define .codegen", +".2460 ((core#lambda () (core#begin (core#define .lookup.2534 (core#lambda (.var.", +"2546 .env.2547) ((core#lambda () (core#begin (core#define .up.2548 (core#lambda ", +"(.depth.2549 .env.2550) (core#if (null? .env.2550) (cons (core#quote global) (co", +"ns .var.2546 (core#quote ()))) ((core#lambda () (core#begin (core#define .loop.2", +"551 (core#lambda (.index.2552 .binding.2553) (core#if (symbol? .binding.2553) (c", +"ore#if (eq? .var.2546 .binding.2553) (cons (core#quote local) (cons .depth.2549 ", +"(cons .index.2552 (core#quote ())))) (.up.2548 (+ .depth.2549 1) (cdr .env.2550)", +")) (core#if (null? .binding.2553) (.up.2548 (+ .depth.2549 1) (cdr .env.2550)) (", +"core#if (eq? .var.2546 (car .binding.2553)) (cons (core#quote local) (cons .dept", +"h.2549 (cons .index.2552 (core#quote ())))) (.loop.2551 (+ .index.2552 1) (cdr .", +"binding.2553))))))) (.loop.2551 1 (car .env.2550)))))))) (.up.2548 0 .env.2547))", +")))) (core#begin (core#define .env.2535 (make-parameter (core#quote ()))) (core#", +"begin (core#define .code.2536 (make-parameter (core#quote ()))) (core#begin (cor", +"e#define .reps.2537 (make-parameter (core#quote ()))) (core#begin (core#define .", +"objs.2538 (make-parameter (core#quote ()))) (core#begin (core#define .emit.2539 ", +"(core#lambda (.inst.2554) (.code.2536 (cons .inst.2554 (.code.2536))))) (core#be", +"gin (core#define .emit-irep.2540 (core#lambda (.irep.2555) ((core#lambda (.n.255", +"6) (core#begin (.reps.2537 (cons .irep.2555 (.reps.2537))) .n.2556)) (length (.r", +"eps.2537))))) (core#begin (core#define .emit-objs.2541 (core#lambda (.obj.2557) ", +"((core#lambda (.n.2558) (core#begin (.objs.2538 (cons .obj.2557 (.objs.2538))) .", +"n.2558)) (length (.objs.2538))))) (core#begin (core#define .make-label.2542 ((co", +"re#lambda (.n.2559) (core#lambda () ((core#lambda (.m.2560) (core#begin (core#se", +"t! .n.2559 (+ .n.2559 1)) .m.2560)) .n.2559))) 0)) (core#begin (core#define .emi", +"t-label.2543 (core#lambda (.label.2561) (.code.2536 (cons .label.2561 (.code.253", +"6))))) (core#begin (core#define .codegen-e.2544 (core#lambda (.e.2562) ((core#la", +"mbda (.key.2563) (core#if ((core#lambda (.it.2564) (core#if .it.2564 .it.2564 ((", +"core#lambda (.it.2565) (core#if .it.2565 .it.2565 ((core#lambda (.it.2566) (core", +"#if .it.2566 .it.2566 ((core#lambda (.it.2567) (core#if .it.2567 .it.2567 #f)) (", +"eqv? .key.2563 (core#quote undefined))))) (eqv? .key.2563 (core#quote quote)))))", +" (eqv? .key.2563 (core#quote lambda))))) (eqv? .key.2563 (core#quote ref))) (.co", +"degen-a.2545 .e.2562 0) (core#if ((core#lambda (.it.2568) (core#if .it.2568 .it.", +"2568 #f)) (eqv? .key.2563 (core#quote set!))) (core#begin (.codegen-a.2545 (.cad", +"dr.2454 .e.2562) 0) (core#begin ((core#lambda (.x.2569) ((core#lambda (.op.2570)", +" ((core#lambda () (.emit.2539 (cons .op.2570 (cons (core#quote 0) (cdr .x.2569))", +"))))) (core#if (eq? (core#quote global) (car .x.2569)) (core#quote GSET) (core#q", +"uote LSET)))) (.lookup.2534 (cadr .e.2562) (.env.2535))) (.codegen-e.2544 (.cadd", +"dr.2455 .e.2562)))) (core#if ((core#lambda (.it.2571) (core#if .it.2571 .it.2571", +" #f)) (eqv? .key.2563 (core#quote if))) (core#begin (.codegen-a.2545 (cadr .e.25", +"62) 0) ((core#lambda (.label.2572) (core#begin (.emit.2539 (cons (core#quote CON", +"D) (cons (core#quote 0) (cons .label.2572 (core#quote ()))))) (core#begin (.code", +"gen-e.2544 (.caddr.2454 .e.2562)) (core#begin (.emit-label.2543 .label.2572) (.c", +"odegen-e.2544 (.cadddr.2455 .e.2562)))))) (.make-label.2542))) (core#if #t (core", +"#begin ((core#lambda () (core#begin (core#define .loop.2573 (core#lambda (.i.257", +"4 .e.2575) (core#if (null? .e.2575) #undefined (core#begin (.codegen-a.2545 (car", +" .e.2575) .i.2574) (.loop.2573 (+ .i.2574 1) (cdr .e.2575)))))) (.loop.2573 0 .e", +".2562)))) (.emit.2539 (cons (core#quote CALL) (cons (length .e.2562) (core#quote", +" ()))))) #undefined))))) (car .e.2562)))) (core#begin (core#define .codegen-a.25", +"45 (core#lambda (.e.2576 .i.2577) ((core#lambda (.key.2578) (core#if ((core#lamb", +"da (.it.2579) (core#if .it.2579 .it.2579 #f)) (eqv? .key.2578 (core#quote ref)))", +" ((core#lambda (.x.2580) ((core#lambda (.op.2581) ((core#lambda () (.emit.2539 (", +"cons .op.2581 (cons .i.2577 (cdr .x.2580))))))) (core#if (eq? (core#quote global", +") (car .x.2580)) (core#quote GREF) (core#quote LREF)))) (.lookup.2534 (cadr .e.2", +"576) (.env.2535))) (core#if ((core#lambda (.it.2582) (core#if .it.2582 .it.2582 ", +"#f)) (eqv? .key.2578 (core#quote quote))) ((core#lambda (.obj.2583) (core#if (eq", +"? #t .obj.2583) (.emit.2539 (cons (core#quote LOADT) (cons .i.2577 (core#quote (", +"))))) (core#if (eq? #f .obj.2583) (.emit.2539 (cons (core#quote LOADF) (cons .i.", +"2577 (core#quote ())))) (core#if (null? .obj.2583) (.emit.2539 (cons (core#quote", +" LOADN) (cons .i.2577 (core#quote ())))) (core#if (core#if (.integer?.2457 .obj.", +"2583) (<= -128 .obj.2583 127) #f) (.emit.2539 (cons (core#quote LOADI) (cons .i.", +"2577 (cons .obj.2583 (core#quote ()))))) ((core#lambda (.n.2584) (.emit.2539 (co", +"ns (core#quote LOAD) (cons .i.2577 (cons .n.2584 (core#quote ())))))) (emit-obj ", +".obj.2583))))))) (cadr .e.2576)) (core#if ((core#lambda (.it.2585) (core#if .it.", +"2585 .it.2585 #f)) (eqv? .key.2578 (core#quote undefined))) (.emit.2539 (cons (c", +"ore#quote LOADU) (cons .i.2577 (core#quote ())))) (core#if ((core#lambda (.it.25", +"86) (core#if .it.2586 .it.2586 #f)) (eqv? .key.2578 (core#quote lambda))) ((core", +"#lambda (.frame-size.2587 .argc-varg.2588) ((core#lambda (.irep.2589) ((core#lam", +"bda (.n.2590) (.emit.2539 (cons (core#quote PROC) (cons .i.2577 (cons .n.2590 (c", +"ore#quote ())))))) (.emit-irep.2540 .irep.2589))) (with-dynamic-environment (lis", +"t (cons .code.2536 (core#quote ())) (cons .env.2535 (cons (cadr .e.2576) (.env.2", +"535))) (cons .reps.2537 (core#quote ())) (cons .objs.2538 (core#quote ()))) (cor", +"e#lambda () (core#begin (.codegen-e.2544 (.caddr.2454 .e.2576)) (list (reverse (", +".code.2536)) (reverse (.reps.2537)) (reverse (.objs.2538)) .argc-varg.2588 .fram", +"e-size.2587)))))) ((core#lambda () (core#begin (core#define .loop.2591 (core#lam", +"bda (.e.2592) ((core#lambda (.key.2593) (core#if ((core#lambda (.it.2594) (core#", +"if .it.2594 .it.2594 ((core#lambda (.it.2595) (core#if .it.2595 .it.2595 ((core#", +"lambda (.it.2596) (core#if .it.2596 .it.2596 ((core#lambda (.it.2597) (core#if .", +"it.2597 .it.2597 #f)) (eqv? .key.2593 (core#quote undefined))))) (eqv? .key.2593", +" (core#quote quote))))) (eqv? .key.2593 (core#quote lambda))))) (eqv? .key.2593 ", +"(core#quote ref))) 1 (core#if ((core#lambda (.it.2598) (core#if .it.2598 .it.259", +"8 #f)) (eqv? .key.2593 (core#quote if))) (.max.2456 (.loop.2591 (.caddr.2454 .e.", +"2592)) (.loop.2591 (.cadddr.2455 .e.2592))) (core#if ((core#lambda (.it.2599) (c", +"ore#if .it.2599 .it.2599 #f)) (eqv? .key.2593 (core#quote set!))) (.loop.2591 (.", +"cadddr.2455 .e.2592)) (core#if #t (+ 1 (length .e.2592)) #undefined))))) (car .e", +".2592)))) (.loop.2591 (.caddr.2454 .e.2576))))) ((core#lambda () (core#begin (co", +"re#define .loop.2600 (core#lambda (.args.2601 .c.2602) (core#if (symbol? .args.2", +"601) (cons (+ 1 .c.2602) #t) (core#if (null? .args.2601) (cons .c.2602 #f) (.loo", +"p.2600 (cdr .args.2601) (+ 1 .c.2602)))))) (.loop.2600 (cadr .e.2576) 0))))) #un", +"defined))))) (car .e.2576)))) (core#lambda (.e.2603) (with-dynamic-environment (", +"list (cons .code.2536 (core#quote ())) (cons .env.2535 (core#quote ())) (cons .r", +"eps.2537 (core#quote ())) (cons .objs.2538 (core#quote ()))) (core#lambda () (co", +"re#begin (.codegen-e.2544 .e.2603) (car (.reps.2537))))))))))))))))))))) (core#l", +"ambda (.e.2604) (.codegen.2460 (.transform.2459 (.normalize.2458 .e.2604))))))))", +")))))) (core#lambda (.compile.2605) (core#set! compile .compile.2605)))) (core#d", +"efine eval (core#lambda (.expr.2606 . .env.2607) (load (expand .expr.2606 (core#", +"if (null? .env.2607) default-environment (car .env.2607)))))))))", }; #endif @@ -619,154 +624,154 @@ static const char boot_library_rom[][80] = { "egin (core#define library-environment #undefined) (core#begin (core#define libra", "ry-exports #undefined) (core#begin (core#define library-import #undefined) (core", "#begin (core#define library-export #undefined) (call-with-values (core#lambda ()", -" ((core#lambda () (core#begin (core#define .mangle.2606 (core#lambda (.name.2615", -") (core#begin (core#if (null? .name.2615) (error \"library name should be a list ", -"of at least one symbols\" .name.2615) #undefined) (core#begin (core#define .->str", -"ing.2616 (core#lambda (.n.2618) (core#if (symbol? .n.2618) ((core#lambda (.str.2", -"619) (core#begin (string-for-each (core#lambda (.c.2620) (core#if ((core#lambda ", -"(.it.2621) (core#if .it.2621 .it.2621 ((core#lambda (.it.2622) (core#if .it.2622", -" .it.2622 #f)) (char=? .c.2620 #\\:)))) (char=? .c.2620 #\\.)) (error \"elements of", -" library name may not contain '.' or ':'\" .n.2618) #undefined)) .str.2619) .str.", -"2619)) (symbol->string .n.2618)) (core#if (core#if (number? .n.2618) (core#if (e", -"xact? .n.2618) (<= 0 .n.2618) #f) #f) (number->string .n.2618) (error \"symbol or", -" non-negative integer is required\" .n.2618))))) (core#begin (core#define .join.2", -"617 (core#lambda (.strs.2623 .delim.2624) ((core#lambda () (core#begin (core#def", -"ine .loop.2625 (core#lambda (.res.2626 .strs.2627) (core#if (null? .strs.2627) .", -"res.2626 (.loop.2625 (string-append .res.2626 .delim.2624 (car .strs.2627)) (cdr", -" .strs.2627))))) (.loop.2625 (car .strs.2623) (cdr .strs.2623))))))) (core#if (s", -"ymbol? .name.2615) .name.2615 (string->symbol (.join.2617 (map .->string.2616 .n", -"ame.2615) \".\")))))))) (core#begin (core#define .current-library.2607 (make-param", -"eter (core#quote (picrin user)) .mangle.2606)) (core#begin (core#define .*librar", -"ies*.2608 (make-dictionary)) (core#begin (core#define .find-library.2609 (core#l", -"ambda (.name.2628) (dictionary-has? .*libraries*.2608 (.mangle.2606 .name.2628))", -")) (core#begin (core#define .make-library.2610 (core#lambda (.name.2629) ((core#", -"lambda (.name.2630) ((core#lambda (.env.2631 .exports.2632) (core#begin (set-ide", -"ntifier! (core#quote define-library) (core#quote define-library) .env.2631) (cor", -"e#begin (set-identifier! (core#quote import) (core#quote import) .env.2631) (cor", -"e#begin (set-identifier! (core#quote export) (core#quote export) .env.2631) (cor", +" ((core#lambda () (core#begin (core#define .mangle.2608 (core#lambda (.name.2617", +") (core#begin (core#if (null? .name.2617) (error \"library name should be a list ", +"of at least one symbols\" .name.2617) #undefined) (core#begin (core#define .->str", +"ing.2618 (core#lambda (.n.2620) (core#if (symbol? .n.2620) ((core#lambda (.str.2", +"621) (core#begin (string-for-each (core#lambda (.c.2622) (core#if ((core#lambda ", +"(.it.2623) (core#if .it.2623 .it.2623 ((core#lambda (.it.2624) (core#if .it.2624", +" .it.2624 #f)) (char=? .c.2622 #\\:)))) (char=? .c.2622 #\\.)) (error \"elements of", +" library name may not contain '.' or ':'\" .n.2620) #undefined)) .str.2621) .str.", +"2621)) (symbol->string .n.2620)) (core#if (core#if (number? .n.2620) (core#if (e", +"xact? .n.2620) (<= 0 .n.2620) #f) #f) (number->string .n.2620) (error \"symbol or", +" non-negative integer is required\" .n.2620))))) (core#begin (core#define .join.2", +"619 (core#lambda (.strs.2625 .delim.2626) ((core#lambda () (core#begin (core#def", +"ine .loop.2627 (core#lambda (.res.2628 .strs.2629) (core#if (null? .strs.2629) .", +"res.2628 (.loop.2627 (string-append .res.2628 .delim.2626 (car .strs.2629)) (cdr", +" .strs.2629))))) (.loop.2627 (car .strs.2625) (cdr .strs.2625))))))) (core#if (s", +"ymbol? .name.2617) .name.2617 (string->symbol (.join.2619 (map .->string.2618 .n", +"ame.2617) \".\")))))))) (core#begin (core#define .current-library.2609 (make-param", +"eter (core#quote (picrin user)) .mangle.2608)) (core#begin (core#define .*librar", +"ies*.2610 (make-dictionary)) (core#begin (core#define .find-library.2611 (core#l", +"ambda (.name.2630) (dictionary-has? .*libraries*.2610 (.mangle.2608 .name.2630))", +")) (core#begin (core#define .make-library.2612 (core#lambda (.name.2631) ((core#", +"lambda (.name.2632) ((core#lambda (.env.2633 .exports.2634) (core#begin (set-ide", +"ntifier! (core#quote define-library) (core#quote define-library) .env.2633) (cor", +"e#begin (set-identifier! (core#quote import) (core#quote import) .env.2633) (cor", +"e#begin (set-identifier! (core#quote export) (core#quote export) .env.2633) (cor", "e#begin (set-identifier! (core#quote cond-expand) (core#quote cond-expand) .env.", -"2631) (dictionary-set! .*libraries*.2608 .name.2630 (cons .env.2631 .exports.263", -"2))))))) (make-environment (string->symbol (string-append (symbol->string .name.", -"2630) \":\"))) (make-dictionary))) (.mangle.2606 .name.2629)))) (core#begin (core#", -"define .library-environment.2611 (core#lambda (.name.2633) (car (dictionary-ref ", -".*libraries*.2608 (.mangle.2606 .name.2633))))) (core#begin (core#define .librar", -"y-exports.2612 (core#lambda (.name.2634) (cdr (dictionary-ref .*libraries*.2608 ", -"(.mangle.2606 .name.2634))))) (core#begin (core#define .library-import.2613 (cor", -"e#lambda (.name.2635 .sym.2636 .alias.2637) ((core#lambda (.uid.2638) ((core#lam", -"bda (.env.2639) (set-identifier! .alias.2637 .uid.2638 .env.2639)) (.library-env", -"ironment.2611 (.current-library.2607)))) (dictionary-ref (.library-exports.2612 ", -".name.2635) .sym.2636)))) (core#begin (core#define .library-export.2614 (core#la", -"mbda (.sym.2640 .alias.2641) ((core#lambda (.env.2642 .exports.2643) (dictionary", -"-set! .exports.2643 .alias.2641 (find-identifier .sym.2640 .env.2642))) (.librar", -"y-environment.2611 (.current-library.2607)) (.library-exports.2612 (.current-lib", -"rary.2607))))) (core#begin ((core#lambda (.define-transformer.2644) (core#begin ", -"(.define-transformer.2644 (core#quote define-library) (core#lambda (.form.2645 .", -"_.2646) ((core#lambda (.name.2647 .body.2648) (core#begin ((core#lambda (.it.264", -"9) (core#if .it.2649 .it.2649 ((core#lambda (.it.2650) (core#if .it.2650 .it.265", -"0 #f)) (.make-library.2610 .name.2647)))) (.find-library.2609 .name.2647)) (with", -"-dynamic-environment (list (cons .current-library.2607 .name.2647)) (core#lambda", -" () (for-each (core#lambda (.expr.2651) (eval .expr.2651 .name.2647)) .body.2648", -"))))) (cadr .form.2645) (cddr .form.2645)))) (core#begin (.define-transformer.26", -"44 (core#quote cond-expand) (core#lambda (.form.2652 ._.2653) ((core#lambda (.te", -"st.2654) (core#begin (core#set! .test.2654 (core#lambda (.form.2655) ((core#lamb", -"da (.it.2656) (core#if .it.2656 .it.2656 ((core#lambda (.it.2657) (core#if .it.2", -"657 .it.2657 ((core#lambda (.it.2658) (core#if .it.2658 .it.2658 #f)) (core#if (", -"pair? .form.2655) ((core#lambda (.key.2659) (core#if ((core#lambda (.it.2660) (c", -"ore#if .it.2660 .it.2660 #f)) (eqv? .key.2659 (core#quote library))) (.find-libr", -"ary.2609 (cadr .form.2655)) (core#if ((core#lambda (.it.2661) (core#if .it.2661 ", -".it.2661 #f)) (eqv? .key.2659 (core#quote not))) (not (.test.2654 (cadr .form.26", -"55))) (core#if ((core#lambda (.it.2662) (core#if .it.2662 .it.2662 #f)) (eqv? .k", -"ey.2659 (core#quote and))) ((core#lambda () (core#begin (core#define .loop.2663 ", -"(core#lambda (.form.2664) ((core#lambda (.it.2665) (core#if .it.2665 .it.2665 ((", -"core#lambda (.it.2666) (core#if .it.2666 .it.2666 #f)) (core#if (.test.2654 (car", -" .form.2664)) (.loop.2663 (cdr .form.2664)) #f)))) (null? .form.2664)))) (.loop.", -"2663 (cdr .form.2655))))) (core#if ((core#lambda (.it.2667) (core#if .it.2667 .i", -"t.2667 #f)) (eqv? .key.2659 (core#quote or))) ((core#lambda () (core#begin (core", -"#define .loop.2668 (core#lambda (.form.2669) (core#if (pair? .form.2669) ((core#", -"lambda (.it.2670) (core#if .it.2670 .it.2670 ((core#lambda (.it.2671) (core#if .", -"it.2671 .it.2671 #f)) (.loop.2668 (cdr .form.2669))))) (.test.2654 (car .form.26", -"69))) #f))) (.loop.2668 (cdr .form.2655))))) (core#if #t #f #undefined)))))) (ca", -"r .form.2655)) #f)))) (core#if (symbol? .form.2655) (memq .form.2655 (features))", -" #f)))) (eq? .form.2655 (core#quote else))))) ((core#lambda () (core#begin (core", -"#define .loop.2672 (core#lambda (.clauses.2673) (core#if (null? .clauses.2673) #", -"undefined (core#if (.test.2654 (caar .clauses.2673)) (cons (make-identifier (cor", -"e#quote begin) default-environment) (append (cdar .clauses.2673) (core#quote ())", -")) (.loop.2672 (cdr .clauses.2673)))))) (.loop.2672 (cdr .form.2652))))))) #unde", -"fined))) (core#begin (.define-transformer.2644 (core#quote import) (core#lambda ", -"(.form.2674 ._.2675) ((core#lambda (.caddr.2676 .prefix.2677 .getlib.2678) ((cor", -"e#lambda (.extract.2679 .collect.2680) (core#begin (core#set! .extract.2679 (cor", -"e#lambda (.spec.2681) ((core#lambda (.key.2682) (core#if ((core#lambda (.it.2683", -") (core#if .it.2683 .it.2683 ((core#lambda (.it.2684) (core#if .it.2684 .it.2684", -" ((core#lambda (.it.2685) (core#if .it.2685 .it.2685 ((core#lambda (.it.2686) (c", -"ore#if .it.2686 .it.2686 #f)) (eqv? .key.2682 (core#quote except))))) (eqv? .key", -".2682 (core#quote prefix))))) (eqv? .key.2682 (core#quote rename))))) (eqv? .key", -".2682 (core#quote only))) (.extract.2679 (cadr .spec.2681)) (core#if #t (.getlib", -".2678 .spec.2681) #undefined))) (car .spec.2681)))) (core#begin (core#set! .coll", -"ect.2680 (core#lambda (.spec.2687) ((core#lambda (.key.2688) (core#if ((core#lam", -"bda (.it.2689) (core#if .it.2689 .it.2689 #f)) (eqv? .key.2688 (core#quote only)", -")) ((core#lambda (.alist.2690) (map (core#lambda (.var.2691) (assq .var.2691 .al", -"ist.2690)) (cddr .spec.2687))) (.collect.2680 (cadr .spec.2687))) (core#if ((cor", -"e#lambda (.it.2692) (core#if .it.2692 .it.2692 #f)) (eqv? .key.2688 (core#quote ", -"rename))) ((core#lambda (.alist.2693 .renames.2694) (map (core#lambda (.s.2695) ", -"((core#lambda (.it.2696) (core#if .it.2696 .it.2696 ((core#lambda (.it.2697) (co", -"re#if .it.2697 .it.2697 #f)) .s.2695))) (assq (car .s.2695) .renames.2694))) .al", -"ist.2693)) (.collect.2680 (cadr .spec.2687)) (map (core#lambda (.x.2698) (cons (", -"car .x.2698) (cadr .x.2698))) (cddr .spec.2687))) (core#if ((core#lambda (.it.26", -"99) (core#if .it.2699 .it.2699 #f)) (eqv? .key.2688 (core#quote prefix))) ((core", -"#lambda (.alist.2700) (map (core#lambda (.s.2701) (cons (.prefix.2677 (.caddr.26", -"76 .spec.2687) (car .s.2701)) (cdr .s.2701))) .alist.2700)) (.collect.2680 (cadr", -" .spec.2687))) (core#if ((core#lambda (.it.2702) (core#if .it.2702 .it.2702 #f))", -" (eqv? .key.2688 (core#quote except))) ((core#lambda (.alist.2703) ((core#lambda", -" () (core#begin (core#define .loop.2704 (core#lambda (.alist.2705) (core#if (nul", -"l? .alist.2705) (core#quote ()) (core#if (memq (caar .alist.2705) (cddr .spec.26", -"87)) (.loop.2704 (cdr .alist.2705)) (cons (car .alist.2705) (.loop.2704 (cdr .al", -"ist.2705))))))) (.loop.2704 .alist.2703))))) (.collect.2680 (cadr .spec.2687))) ", -"(core#if #t (dictionary-map (core#lambda (.x.2706) (cons .x.2706 .x.2706)) (.lib", -"rary-exports.2612 (.getlib.2678 .spec.2687))) #undefined)))))) (car .spec.2687))", -")) ((core#lambda (.import.2707) (core#begin (core#set! .import.2707 (core#lambda", -" (.spec.2708) ((core#lambda (.lib.2709 .alist.2710) (for-each (core#lambda (.slo", -"t.2711) (.library-import.2613 .lib.2709 (cdr .slot.2711) (car .slot.2711))) .ali", -"st.2710)) (.extract.2679 .spec.2708) (.collect.2680 .spec.2708)))) (for-each .im", -"port.2707 (cdr .form.2674)))) #undefined)))) #undefined #undefined)) (core#lambd", -"a (.x.2712) (car (cdr (cdr .x.2712)))) (core#lambda (.prefix.2713 .symbol.2714) ", -"(string->symbol (string-append (symbol->string .prefix.2713) (symbol->string .sy", -"mbol.2714)))) (core#lambda (.name.2715) (core#if (.find-library.2609 .name.2715)", -" .name.2715 (error \"library not found\" .name.2715)))))) (.define-transformer.264", -"4 (core#quote export) (core#lambda (.form.2716 ._.2717) ((core#lambda (.collect.", -"2718 .export.2719) (core#begin (core#set! .collect.2718 (core#lambda (.spec.2720", -") (core#if (symbol? .spec.2720) (cons .spec.2720 .spec.2720) (core#if (core#if (", -"list? .spec.2720) (core#if (= (length .spec.2720) 3) (eq? (car .spec.2720) (core", -"#quote rename)) #f) #f) (cons (list-ref .spec.2720 1) (list-ref .spec.2720 2)) (", -"error \"malformed export\"))))) (core#begin (core#set! .export.2719 (core#lambda (", -".spec.2721) ((core#lambda (.slot.2722) (.library-export.2614 (car .slot.2722) (c", -"dr .slot.2722))) (.collect.2718 .spec.2721)))) (for-each .export.2719 (cdr .form", -".2716))))) #undefined #undefined))))))) (core#lambda (.name.2723 .macro.2724) (d", -"ictionary-set! (macro-objects) .name.2723 .macro.2724))) (core#begin ((core#lamb", -"da () (core#begin (.make-library.2610 (core#quote (picrin base))) (core#begin (s", -"et-car! (dictionary-ref .*libraries*.2608 (.mangle.2606 (core#quote (picrin base", -")))) default-environment) (core#begin ((core#lambda (.exports.2725) ((core#lambd", -"a (.export-keyword.2726) ((core#lambda () (core#begin (for-each .export-keyword.", -"2726 (core#quote (define lambda quote set! if begin define-macro let let* letrec", +"2633) (dictionary-set! .*libraries*.2610 .name.2632 (cons .env.2633 .exports.263", +"4))))))) (make-environment (string->symbol (string-append (symbol->string .name.", +"2632) \":\"))) (make-dictionary))) (.mangle.2608 .name.2631)))) (core#begin (core#", +"define .library-environment.2613 (core#lambda (.name.2635) (car (dictionary-ref ", +".*libraries*.2610 (.mangle.2608 .name.2635))))) (core#begin (core#define .librar", +"y-exports.2614 (core#lambda (.name.2636) (cdr (dictionary-ref .*libraries*.2610 ", +"(.mangle.2608 .name.2636))))) (core#begin (core#define .library-import.2615 (cor", +"e#lambda (.name.2637 .sym.2638 .alias.2639) ((core#lambda (.uid.2640) ((core#lam", +"bda (.env.2641) (set-identifier! .alias.2639 .uid.2640 .env.2641)) (.library-env", +"ironment.2613 (.current-library.2609)))) (dictionary-ref (.library-exports.2614 ", +".name.2637) .sym.2638)))) (core#begin (core#define .library-export.2616 (core#la", +"mbda (.sym.2642 .alias.2643) ((core#lambda (.env.2644 .exports.2645) (dictionary", +"-set! .exports.2645 .alias.2643 (find-identifier .sym.2642 .env.2644))) (.librar", +"y-environment.2613 (.current-library.2609)) (.library-exports.2614 (.current-lib", +"rary.2609))))) (core#begin ((core#lambda (.define-transformer.2646) (core#begin ", +"(.define-transformer.2646 (core#quote define-library) (core#lambda (.form.2647 .", +"_.2648) ((core#lambda (.name.2649 .body.2650) (core#begin ((core#lambda (.it.265", +"1) (core#if .it.2651 .it.2651 ((core#lambda (.it.2652) (core#if .it.2652 .it.265", +"2 #f)) (.make-library.2612 .name.2649)))) (.find-library.2611 .name.2649)) (with", +"-dynamic-environment (list (cons .current-library.2609 .name.2649)) (core#lambda", +" () (for-each (core#lambda (.expr.2653) (eval .expr.2653 .name.2649)) .body.2650", +"))))) (cadr .form.2647) (cddr .form.2647)))) (core#begin (.define-transformer.26", +"46 (core#quote cond-expand) (core#lambda (.form.2654 ._.2655) ((core#lambda (.te", +"st.2656) (core#begin (core#set! .test.2656 (core#lambda (.form.2657) ((core#lamb", +"da (.it.2658) (core#if .it.2658 .it.2658 ((core#lambda (.it.2659) (core#if .it.2", +"659 .it.2659 ((core#lambda (.it.2660) (core#if .it.2660 .it.2660 #f)) (core#if (", +"pair? .form.2657) ((core#lambda (.key.2661) (core#if ((core#lambda (.it.2662) (c", +"ore#if .it.2662 .it.2662 #f)) (eqv? .key.2661 (core#quote library))) (.find-libr", +"ary.2611 (cadr .form.2657)) (core#if ((core#lambda (.it.2663) (core#if .it.2663 ", +".it.2663 #f)) (eqv? .key.2661 (core#quote not))) (not (.test.2656 (cadr .form.26", +"57))) (core#if ((core#lambda (.it.2664) (core#if .it.2664 .it.2664 #f)) (eqv? .k", +"ey.2661 (core#quote and))) ((core#lambda () (core#begin (core#define .loop.2665 ", +"(core#lambda (.form.2666) ((core#lambda (.it.2667) (core#if .it.2667 .it.2667 ((", +"core#lambda (.it.2668) (core#if .it.2668 .it.2668 #f)) (core#if (.test.2656 (car", +" .form.2666)) (.loop.2665 (cdr .form.2666)) #f)))) (null? .form.2666)))) (.loop.", +"2665 (cdr .form.2657))))) (core#if ((core#lambda (.it.2669) (core#if .it.2669 .i", +"t.2669 #f)) (eqv? .key.2661 (core#quote or))) ((core#lambda () (core#begin (core", +"#define .loop.2670 (core#lambda (.form.2671) (core#if (pair? .form.2671) ((core#", +"lambda (.it.2672) (core#if .it.2672 .it.2672 ((core#lambda (.it.2673) (core#if .", +"it.2673 .it.2673 #f)) (.loop.2670 (cdr .form.2671))))) (.test.2656 (car .form.26", +"71))) #f))) (.loop.2670 (cdr .form.2657))))) (core#if #t #f #undefined)))))) (ca", +"r .form.2657)) #f)))) (core#if (symbol? .form.2657) (memq .form.2657 (features))", +" #f)))) (eq? .form.2657 (core#quote else))))) ((core#lambda () (core#begin (core", +"#define .loop.2674 (core#lambda (.clauses.2675) (core#if (null? .clauses.2675) #", +"undefined (core#if (.test.2656 (caar .clauses.2675)) (cons (make-identifier (cor", +"e#quote begin) default-environment) (append (cdar .clauses.2675) (core#quote ())", +")) (.loop.2674 (cdr .clauses.2675)))))) (.loop.2674 (cdr .form.2654))))))) #unde", +"fined))) (core#begin (.define-transformer.2646 (core#quote import) (core#lambda ", +"(.form.2676 ._.2677) ((core#lambda (.caddr.2678 .prefix.2679 .getlib.2680) ((cor", +"e#lambda (.extract.2681 .collect.2682) (core#begin (core#set! .extract.2681 (cor", +"e#lambda (.spec.2683) ((core#lambda (.key.2684) (core#if ((core#lambda (.it.2685", +") (core#if .it.2685 .it.2685 ((core#lambda (.it.2686) (core#if .it.2686 .it.2686", +" ((core#lambda (.it.2687) (core#if .it.2687 .it.2687 ((core#lambda (.it.2688) (c", +"ore#if .it.2688 .it.2688 #f)) (eqv? .key.2684 (core#quote except))))) (eqv? .key", +".2684 (core#quote prefix))))) (eqv? .key.2684 (core#quote rename))))) (eqv? .key", +".2684 (core#quote only))) (.extract.2681 (cadr .spec.2683)) (core#if #t (.getlib", +".2680 .spec.2683) #undefined))) (car .spec.2683)))) (core#begin (core#set! .coll", +"ect.2682 (core#lambda (.spec.2689) ((core#lambda (.key.2690) (core#if ((core#lam", +"bda (.it.2691) (core#if .it.2691 .it.2691 #f)) (eqv? .key.2690 (core#quote only)", +")) ((core#lambda (.alist.2692) (map (core#lambda (.var.2693) (assq .var.2693 .al", +"ist.2692)) (cddr .spec.2689))) (.collect.2682 (cadr .spec.2689))) (core#if ((cor", +"e#lambda (.it.2694) (core#if .it.2694 .it.2694 #f)) (eqv? .key.2690 (core#quote ", +"rename))) ((core#lambda (.alist.2695 .renames.2696) (map (core#lambda (.s.2697) ", +"((core#lambda (.it.2698) (core#if .it.2698 .it.2698 ((core#lambda (.it.2699) (co", +"re#if .it.2699 .it.2699 #f)) .s.2697))) (assq (car .s.2697) .renames.2696))) .al", +"ist.2695)) (.collect.2682 (cadr .spec.2689)) (map (core#lambda (.x.2700) (cons (", +"car .x.2700) (cadr .x.2700))) (cddr .spec.2689))) (core#if ((core#lambda (.it.27", +"01) (core#if .it.2701 .it.2701 #f)) (eqv? .key.2690 (core#quote prefix))) ((core", +"#lambda (.alist.2702) (map (core#lambda (.s.2703) (cons (.prefix.2679 (.caddr.26", +"78 .spec.2689) (car .s.2703)) (cdr .s.2703))) .alist.2702)) (.collect.2682 (cadr", +" .spec.2689))) (core#if ((core#lambda (.it.2704) (core#if .it.2704 .it.2704 #f))", +" (eqv? .key.2690 (core#quote except))) ((core#lambda (.alist.2705) ((core#lambda", +" () (core#begin (core#define .loop.2706 (core#lambda (.alist.2707) (core#if (nul", +"l? .alist.2707) (core#quote ()) (core#if (memq (caar .alist.2707) (cddr .spec.26", +"89)) (.loop.2706 (cdr .alist.2707)) (cons (car .alist.2707) (.loop.2706 (cdr .al", +"ist.2707))))))) (.loop.2706 .alist.2705))))) (.collect.2682 (cadr .spec.2689))) ", +"(core#if #t (dictionary-map (core#lambda (.x.2708) (cons .x.2708 .x.2708)) (.lib", +"rary-exports.2614 (.getlib.2680 .spec.2689))) #undefined)))))) (car .spec.2689))", +")) ((core#lambda (.import.2709) (core#begin (core#set! .import.2709 (core#lambda", +" (.spec.2710) ((core#lambda (.lib.2711 .alist.2712) (for-each (core#lambda (.slo", +"t.2713) (.library-import.2615 .lib.2711 (cdr .slot.2713) (car .slot.2713))) .ali", +"st.2712)) (.extract.2681 .spec.2710) (.collect.2682 .spec.2710)))) (for-each .im", +"port.2709 (cdr .form.2676)))) #undefined)))) #undefined #undefined)) (core#lambd", +"a (.x.2714) (car (cdr (cdr .x.2714)))) (core#lambda (.prefix.2715 .symbol.2716) ", +"(string->symbol (string-append (symbol->string .prefix.2715) (symbol->string .sy", +"mbol.2716)))) (core#lambda (.name.2717) (core#if (.find-library.2611 .name.2717)", +" .name.2717 (error \"library not found\" .name.2717)))))) (.define-transformer.264", +"6 (core#quote export) (core#lambda (.form.2718 ._.2719) ((core#lambda (.collect.", +"2720 .export.2721) (core#begin (core#set! .collect.2720 (core#lambda (.spec.2722", +") (core#if (symbol? .spec.2722) (cons .spec.2722 .spec.2722) (core#if (core#if (", +"list? .spec.2722) (core#if (= (length .spec.2722) 3) (eq? (car .spec.2722) (core", +"#quote rename)) #f) #f) (cons (list-ref .spec.2722 1) (list-ref .spec.2722 2)) (", +"error \"malformed export\"))))) (core#begin (core#set! .export.2721 (core#lambda (", +".spec.2723) ((core#lambda (.slot.2724) (.library-export.2616 (car .slot.2724) (c", +"dr .slot.2724))) (.collect.2720 .spec.2723)))) (for-each .export.2721 (cdr .form", +".2718))))) #undefined #undefined))))))) (core#lambda (.name.2725 .macro.2726) (d", +"ictionary-set! (macro-objects) .name.2725 .macro.2726))) (core#begin ((core#lamb", +"da () (core#begin (.make-library.2612 (core#quote (picrin base))) (core#begin (s", +"et-car! (dictionary-ref .*libraries*.2610 (.mangle.2608 (core#quote (picrin base", +")))) default-environment) (core#begin ((core#lambda (.exports.2727) ((core#lambd", +"a (.export-keyword.2728) ((core#lambda () (core#begin (for-each .export-keyword.", +"2728 (core#quote (define lambda quote set! if begin define-macro let let* letrec", " letrec* let-values let*-values define-values quasiquote unquote unquote-splicin", "g and or cond case else => do when unless parameterize define-record-type))) (co", -"re#begin (.export-keyword.2726 (core#quote boolean?)) (dictionary-for-each .expo", -"rt-keyword.2726 (global-objects))))))) (core#lambda (.keyword.2727) (dictionary-", -"set! .exports.2725 .keyword.2727 .keyword.2727)))) (.library-exports.2612 (core#", -"quote (picrin base)))) (core#begin (core#set! eval ((core#lambda (.e.2728) (core", -"#lambda (.expr.2729 . .lib.2730) ((core#lambda (.lib.2731) (with-dynamic-environ", -"ment (list (cons .current-library.2607 .lib.2731)) (core#lambda () (.e.2728 .exp", -"r.2729 (.library-environment.2611 .lib.2731))))) (core#if (null? .lib.2730) (.cu", -"rrent-library.2607) (car .lib.2730))))) eval)) (.make-library.2610 (core#quote (", -"picrin user))))))))) (values .current-library.2607 .find-library.2609 .make-libr", -"ary.2610 .library-environment.2611 .library-exports.2612 .library-import.2613 .l", -"ibrary-export.2614))))))))))))))) (core#lambda (.current-library.2732 .find-libr", -"ary.2733 .make-library.2734 .library-environment.2735 .library-exports.2736 .lib", -"rary-import.2737 .library-export.2738) (core#begin (core#set! current-library .c", -"urrent-library.2732) (core#begin (core#set! find-library .find-library.2733) (co", -"re#begin (core#set! make-library .make-library.2734) (core#begin (core#set! libr", -"ary-environment .library-environment.2735) (core#begin (core#set! library-export", -"s .library-exports.2736) (core#begin (core#set! library-import .library-import.2", -"737) (core#set! library-export .library-export.2738))))))))))))))))", +"re#begin (.export-keyword.2728 (core#quote boolean?)) (dictionary-for-each .expo", +"rt-keyword.2728 (global-objects))))))) (core#lambda (.keyword.2729) (dictionary-", +"set! .exports.2727 .keyword.2729 .keyword.2729)))) (.library-exports.2614 (core#", +"quote (picrin base)))) (core#begin (core#set! eval ((core#lambda (.e.2730) (core", +"#lambda (.expr.2731 . .lib.2732) ((core#lambda (.lib.2733) (with-dynamic-environ", +"ment (list (cons .current-library.2609 .lib.2733)) (core#lambda () (.e.2730 .exp", +"r.2731 (.library-environment.2613 .lib.2733))))) (core#if (null? .lib.2732) (.cu", +"rrent-library.2609) (car .lib.2732))))) eval)) (.make-library.2612 (core#quote (", +"picrin user))))))))) (values .current-library.2609 .find-library.2611 .make-libr", +"ary.2612 .library-environment.2613 .library-exports.2614 .library-import.2615 .l", +"ibrary-export.2616))))))))))))))) (core#lambda (.current-library.2734 .find-libr", +"ary.2735 .make-library.2736 .library-environment.2737 .library-exports.2738 .lib", +"rary-import.2739 .library-export.2740) (core#begin (core#set! current-library .c", +"urrent-library.2734) (core#begin (core#set! find-library .find-library.2735) (co", +"re#begin (core#set! make-library .make-library.2736) (core#begin (core#set! libr", +"ary-environment .library-environment.2737) (core#begin (core#set! library-export", +"s .library-exports.2738) (core#begin (core#set! library-import .library-import.2", +"739) (core#set! library-export .library-export.2740))))))))))))))))", }; #endif diff --git a/piclib/compile.scm b/piclib/compile.scm index b25717ab..313b0d8a 100644 --- a/piclib/compile.scm +++ b/piclib/compile.scm @@ -275,7 +275,12 @@ (define-transformer 'quote (lambda (form env) (if (= (length form) 2) - `(,the-core-quote ,(cadr form)) + (let ((obj (cadr form))) + (cond + ((pair? obj) `(,(the 'cons) (,the-quote ,(car obj)) (,the-quote ,(cdr obj)))) + ((vector? obj) `(,(the 'vector) . ,(vector->list + (vector-map (lambda (obj) `(,the-quote ,obj)) obj)))) + (else `(,the-core-quote ,obj)))) (error "malformed quote" form)))) (define-transformer 'if