diff --git a/Makefile b/Makefile index 87a40b5f..a84c71a7 100644 --- a/Makefile +++ b/Makefile @@ -98,7 +98,7 @@ test: test-contribs test-nostdlib test-issue test-contribs: picrin $(CONTRIB_TESTS) test-nostdlib: lib/ext/boot.c - $(CC) -I./lib -I./lib/include -D'PIC_USE_LIBC=0' -D'PIC_USE_STDIO=0' -D'PIC_USE_WRITE=0' -ffreestanding -nostdlib -Os -fPIC -shared -std=c89 -pedantic -Wall -Wextra -Werror -o libpicrin-tiny.so $(LIBPICRIN_SRCS) etc/libc_polyfill.c -fno-stack-protector + $(CC) -I./lib -I./lib/include -D'PIC_USE_LIBC=0' -D'PIC_USE_STDIO=0' -D'PIC_USE_WRITE=0' -D'PIC_USE_LIBRARY=0' -ffreestanding -nostdlib -Os -fPIC -shared -std=c89 -pedantic -Wall -Wextra -Werror -o libpicrin-tiny.so $(LIBPICRIN_SRCS) etc/libc_polyfill.c -fno-stack-protector strip libpicrin-tiny.so ls -lh libpicrin-tiny.so rm -f libpicrin-tiny.so diff --git a/bin/picrin-bootstrap b/bin/picrin-bootstrap index 0b46e5ca..3252e510 100755 Binary files a/bin/picrin-bootstrap and b/bin/picrin-bootstrap differ diff --git a/lib/ext/boot.c b/lib/ext/boot.c index 9e8ef4a6..26377e29 100644 --- a/lib/ext/boot.c +++ b/lib/ext/boot.c @@ -2,354 +2,353 @@ #include "picrin/extra.h" static const char boot_rom[][80] = { -"((core#lambda () (core#begin (core#define .define-transformer.2252 (core#lambda ", -"(.name.2272 .transformer.2273) (add-macro! .name.2272 .transformer.2273))) (core", -"#begin (core#define .the.2253 (core#lambda (.var.2274) (make-identifier .var.227", -"4 default-environment))) (core#begin (core#define .the-core-define.2254 (.the.22", -"53 (core#quote core#define))) (core#begin (core#define .the-core-lambda.2255 (.t", -"he.2253 (core#quote core#lambda))) (core#begin (core#define .the-core-begin.2256", -" (.the.2253 (core#quote core#begin))) (core#begin (core#define .the-core-quote.2", -"257 (.the.2253 (core#quote core#quote))) (core#begin (core#define .the-core-set!", -".2258 (.the.2253 (core#quote core#set!))) (core#begin (core#define .the-core-if.", -"2259 (.the.2253 (core#quote core#if))) (core#begin (core#define .the-core-define", -"-macro.2260 (.the.2253 (core#quote core#define-macro))) (core#begin (core#define", -" .the-define.2261 (.the.2253 (core#quote define))) (core#begin (core#define .the", -"-lambda.2262 (.the.2253 (core#quote lambda))) (core#begin (core#define .the-begi", -"n.2263 (.the.2253 (core#quote begin))) (core#begin (core#define .the-quote.2264 ", -"(.the.2253 (core#quote quote))) (core#begin (core#define .the-set!.2265 (.the.22", -"53 (core#quote set!))) (core#begin (core#define .the-if.2266 (.the.2253 (core#qu", -"ote if))) (core#begin (core#define .the-define-macro.2267 (.the.2253 (core#quote", -" define-macro))) (core#begin (.define-transformer.2252 (core#quote quote) (core#", -"lambda (.form.2275 .env.2276) (core#if (= (length .form.2275) 2) (cons .the-core", -"-quote.2257 (cons (cadr .form.2275) (core#quote ()))) (error \"malformed quote\" .", -"form.2275)))) (core#begin (.define-transformer.2252 (core#quote if) (core#lambda", -" (.form.2277 .env.2278) ((core#lambda (.len.2279) (core#if (= .len.2279 3) (appe", -"nd .form.2277 (cons (core#quote #undefined) (core#quote ()))) (core#if (= .len.2", -"279 4) (cons .the-core-if.2259 (cdr .form.2277)) (error \"malformed if\" .form.227", -"7)))) (length .form.2277)))) (core#begin (.define-transformer.2252 (core#quote b", -"egin) (core#lambda (.form.2280 .env.2281) ((core#lambda (.len.2282) (core#if (= ", -".len.2282 1) #undefined (core#if (= .len.2282 2) (cadr .form.2280) (core#if (= .", -"len.2282 3) (cons .the-core-begin.2256 (cdr .form.2280)) (cons .the-core-begin.2", -"256 (cons (cadr .form.2280) (cons (cons .the-begin.2263 (cddr .form.2280)) (core", -"#quote ())))))))) (length .form.2280)))) (core#begin (.define-transformer.2252 (", -"core#quote set!) (core#lambda (.form.2283 .env.2284) (core#if (core#if (= (lengt", -"h .form.2283) 3) (identifier? (cadr .form.2283)) #f) (cons .the-core-set!.2258 (", -"cdr .form.2283)) (error \"malformed set!\" .form.2283)))) (core#begin (core#define", -" .check-formal.2268 (core#lambda (.formal.2285) ((core#lambda (.it.2286) (core#i", -"f .it.2286 .it.2286 ((core#lambda (.it.2287) (core#if .it.2287 .it.2287 ((core#l", -"ambda (.it.2288) (core#if .it.2288 .it.2288 #f)) (core#if (pair? .formal.2285) (", -"core#if (identifier? (car .formal.2285)) (.check-formal.2268 (cdr .formal.2285))", -" #f) #f)))) (identifier? .formal.2285)))) (null? .formal.2285)))) (core#begin (.", -"define-transformer.2252 (core#quote lambda) (core#lambda (.form.2289 .env.2290) ", -"(core#if (= (length .form.2289) 1) (error \"malformed lambda\" .form.2289) (core#i", -"f (.check-formal.2268 (cadr .form.2289)) (cons .the-core-lambda.2255 (cons (cadr", -" .form.2289) (cons (cons .the-begin.2263 (cddr .form.2289)) (core#quote ())))) (", -"error \"malformed lambda\" .form.2289))))) (core#begin (.define-transformer.2252 (", -"core#quote define) (core#lambda (.form.2291 .env.2292) ((core#lambda (.len.2293)", -" (core#if (= .len.2293 1) (error \"malformed define\" .form.2291) ((core#lambda (.", -"formal.2294) (core#if (identifier? .formal.2294) (core#if (= .len.2293 3) (cons ", -".the-core-define.2254 (cdr .form.2291)) (error \"malformed define\" .form.2291)) (", -"core#if (pair? .formal.2294) (cons .the-define.2261 (cons (car .formal.2294) (co", -"ns (cons .the-lambda.2262 (cons (cdr .formal.2294) (cddr .form.2291))) (core#quo", -"te ())))) (error \"define: binding to non-varaible object\" .form.2291)))) (cadr .", -"form.2291)))) (length .form.2291)))) (core#begin (.define-transformer.2252 (core", -"#quote define-macro) (core#lambda (.form.2295 .env.2296) (core#if (= (length .fo", -"rm.2295) 3) (core#if (identifier? (cadr .form.2295)) (cons .the-core-define-macr", -"o.2260 (cdr .form.2295)) (error \"define-macro: binding to non-variable object\" .", -"form.2295)) (error \"malformed define-macro\" .form.2295)))) (core#begin #undefine", -"d (core#begin (.define-transformer.2252 (core#quote else) (core#lambda ._.2297 (", +"((core#lambda () (core#begin (core#define .define-transformer.2228 (core#lambda ", +"(.name.2248 .transformer.2249) (add-macro! .name.2248 .transformer.2249))) (core", +"#begin (core#define .the.2229 (core#lambda (.var.2250) (make-identifier .var.225", +"0 default-environment))) (core#begin (core#define .the-core-define.2230 (.the.22", +"29 (core#quote core#define))) (core#begin (core#define .the-core-lambda.2231 (.t", +"he.2229 (core#quote core#lambda))) (core#begin (core#define .the-core-begin.2232", +" (.the.2229 (core#quote core#begin))) (core#begin (core#define .the-core-quote.2", +"233 (.the.2229 (core#quote core#quote))) (core#begin (core#define .the-core-set!", +".2234 (.the.2229 (core#quote core#set!))) (core#begin (core#define .the-core-if.", +"2235 (.the.2229 (core#quote core#if))) (core#begin (core#define .the-core-define", +"-macro.2236 (.the.2229 (core#quote core#define-macro))) (core#begin (core#define", +" .the-define.2237 (.the.2229 (core#quote define))) (core#begin (core#define .the", +"-lambda.2238 (.the.2229 (core#quote lambda))) (core#begin (core#define .the-begi", +"n.2239 (.the.2229 (core#quote begin))) (core#begin (core#define .the-quote.2240 ", +"(.the.2229 (core#quote quote))) (core#begin (core#define .the-set!.2241 (.the.22", +"29 (core#quote set!))) (core#begin (core#define .the-if.2242 (.the.2229 (core#qu", +"ote if))) (core#begin (core#define .the-define-macro.2243 (.the.2229 (core#quote", +" define-macro))) (core#begin (.define-transformer.2228 (core#quote quote) (core#", +"lambda (.form.2251 .env.2252) (core#if (= (length .form.2251) 2) (cons .the-core", +"-quote.2233 (cons (cadr .form.2251) (core#quote ()))) (error \"malformed quote\" .", +"form.2251)))) (core#begin (.define-transformer.2228 (core#quote if) (core#lambda", +" (.form.2253 .env.2254) ((core#lambda (.len.2255) (core#if (= .len.2255 3) (appe", +"nd .form.2253 (cons (core#quote #undefined) (core#quote ()))) (core#if (= .len.2", +"255 4) (cons .the-core-if.2235 (cdr .form.2253)) (error \"malformed if\" .form.225", +"3)))) (length .form.2253)))) (core#begin (.define-transformer.2228 (core#quote b", +"egin) (core#lambda (.form.2256 .env.2257) ((core#lambda (.len.2258) (core#if (= ", +".len.2258 1) #undefined (core#if (= .len.2258 2) (cadr .form.2256) (core#if (= .", +"len.2258 3) (cons .the-core-begin.2232 (cdr .form.2256)) (cons .the-core-begin.2", +"232 (cons (cadr .form.2256) (cons (cons .the-begin.2239 (cddr .form.2256)) (core", +"#quote ())))))))) (length .form.2256)))) (core#begin (.define-transformer.2228 (", +"core#quote set!) (core#lambda (.form.2259 .env.2260) (core#if (core#if (= (lengt", +"h .form.2259) 3) (identifier? (cadr .form.2259)) #f) (cons .the-core-set!.2234 (", +"cdr .form.2259)) (error \"malformed set!\" .form.2259)))) (core#begin (core#define", +" .check-formal.2244 (core#lambda (.formal.2261) ((core#lambda (.it.2262) (core#i", +"f .it.2262 .it.2262 ((core#lambda (.it.2263) (core#if .it.2263 .it.2263 ((core#l", +"ambda (.it.2264) (core#if .it.2264 .it.2264 #f)) (core#if (pair? .formal.2261) (", +"core#if (identifier? (car .formal.2261)) (.check-formal.2244 (cdr .formal.2261))", +" #f) #f)))) (identifier? .formal.2261)))) (null? .formal.2261)))) (core#begin (.", +"define-transformer.2228 (core#quote lambda) (core#lambda (.form.2265 .env.2266) ", +"(core#if (= (length .form.2265) 1) (error \"malformed lambda\" .form.2265) (core#i", +"f (.check-formal.2244 (cadr .form.2265)) (cons .the-core-lambda.2231 (cons (cadr", +" .form.2265) (cons (cons .the-begin.2239 (cddr .form.2265)) (core#quote ())))) (", +"error \"malformed lambda\" .form.2265))))) (core#begin (.define-transformer.2228 (", +"core#quote define) (core#lambda (.form.2267 .env.2268) ((core#lambda (.len.2269)", +" (core#if (= .len.2269 1) (error \"malformed define\" .form.2267) ((core#lambda (.", +"formal.2270) (core#if (identifier? .formal.2270) (core#if (= .len.2269 3) (cons ", +".the-core-define.2230 (cdr .form.2267)) (error \"malformed define\" .form.2267)) (", +"core#if (pair? .formal.2270) (cons .the-define.2237 (cons (car .formal.2270) (co", +"ns (cons .the-lambda.2238 (cons (cdr .formal.2270) (cddr .form.2267))) (core#quo", +"te ())))) (error \"define: binding to non-varaible object\" .form.2267)))) (cadr .", +"form.2267)))) (length .form.2267)))) (core#begin (.define-transformer.2228 (core", +"#quote define-macro) (core#lambda (.form.2271 .env.2272) (core#if (= (length .fo", +"rm.2271) 3) (core#if (identifier? (cadr .form.2271)) (cons .the-core-define-macr", +"o.2236 (cdr .form.2271)) (error \"define-macro: binding to non-variable object\" .", +"form.2271)) (error \"malformed define-macro\" .form.2271)))) (core#begin #undefine", +"d (core#begin (.define-transformer.2228 (core#quote else) (core#lambda ._.2273 (", "error \"invalid use of auxiliary syntax\" (core#quote else)))) (core#begin (.defin", -"e-transformer.2252 (core#quote =>) (core#lambda ._.2298 (error \"invalid use of a", -"uxiliary syntax\" (core#quote =>)))) (core#begin (.define-transformer.2252 (core#", -"quote unquote) (core#lambda ._.2299 (error \"invalid use of auxiliary syntax\" (co", -"re#quote unquote)))) (core#begin (.define-transformer.2252 (core#quote unquote-s", -"plicing) (core#lambda ._.2300 (error \"invalid use of auxiliary syntax\" (core#quo", -"te unquote-splicing)))) (core#begin (.define-transformer.2252 (core#quote let) (", -"core#lambda (.form.2301 .env.2302) (core#if (identifier? (cadr .form.2301)) ((co", -"re#lambda (.name.2303 .formal.2304 .body.2305) (cons (cons .the-lambda.2262 (con", -"s (core#quote ()) (cons (cons .the-define.2261 (cons (cons .name.2303 (map car .", -"formal.2304)) .body.2305)) (cons (cons .name.2303 (map cadr .formal.2304)) (core", -"#quote ()))))) (core#quote ()))) (car (cdr .form.2301)) (car (cdr (cdr .form.230", -"1))) (cdr (cdr (cdr .form.2301)))) ((core#lambda (.formal.2306 .body.2307) (cons", -" (cons .the-lambda.2262 (cons (map car .formal.2306) .body.2307)) (map cadr .for", -"mal.2306))) (car (cdr .form.2301)) (cdr (cdr .form.2301)))))) (core#begin (.defi", -"ne-transformer.2252 (core#quote and) (core#lambda (.form.2308 .env.2309) (core#i", -"f (null? (cdr .form.2308)) #t (core#if (null? (cddr .form.2308)) (cadr .form.230", -"8) (cons .the-if.2266 (cons (cadr .form.2308) (cons (cons (.the.2253 (core#quote", -" and)) (cddr .form.2308)) (cons (core#quote #f) (core#quote ()))))))))) (core#be", -"gin (.define-transformer.2252 (core#quote or) (core#lambda (.form.2310 .env.2311", -") (core#if (null? (cdr .form.2310)) #f ((core#lambda (.tmp.2312) (cons (.the.225", -"3 (core#quote let)) (cons (cons (cons .tmp.2312 (cons (cadr .form.2310) (core#qu", -"ote ()))) (core#quote ())) (cons (cons .the-if.2266 (cons .tmp.2312 (cons .tmp.2", -"312 (cons (cons (.the.2253 (core#quote or)) (cddr .form.2310)) (core#quote ())))", -")) (core#quote ()))))) (make-identifier (core#quote it) .env.2311))))) (core#beg", -"in (.define-transformer.2252 (core#quote cond) (core#lambda (.form.2313 .env.231", -"4) ((core#lambda (.clauses.2315) (core#if (null? .clauses.2315) #undefined ((cor", -"e#lambda (.clause.2316) (core#if (core#if (identifier? (car .clause.2316)) (iden", -"tifier=? (.the.2253 (core#quote else)) (make-identifier (car .clause.2316) .env.", -"2314)) #f) (cons .the-begin.2263 (cdr .clause.2316)) (core#if (null? (cdr .claus", -"e.2316)) (cons (.the.2253 (core#quote or)) (cons (car .clause.2316) (cons (cons ", -"(.the.2253 (core#quote cond)) (cdr .clauses.2315)) (core#quote ())))) (core#if (", -"core#if (identifier? (cadr .clause.2316)) (identifier=? (.the.2253 (core#quote =", -">)) (make-identifier (cadr .clause.2316) .env.2314)) #f) ((core#lambda (.tmp.231", -"7) (cons (.the.2253 (core#quote let)) (cons (cons (cons .tmp.2317 (cons (car .cl", -"ause.2316) (core#quote ()))) (core#quote ())) (cons (cons .the-if.2266 (cons .tm", -"p.2317 (cons (cons (cadr (cdr .clause.2316)) (cons .tmp.2317 (core#quote ()))) (", -"cons (cons (.the.2253 (core#quote cond)) (cddr .form.2313)) (core#quote ()))))) ", -"(core#quote ()))))) (make-identifier (core#quote tmp) .env.2314)) (cons .the-if.", -"2266 (cons (car .clause.2316) (cons (cons .the-begin.2263 (cdr .clause.2316)) (c", -"ons (cons (.the.2253 (core#quote cond)) (cdr .clauses.2315)) (core#quote ())))))", -")))) (car .clauses.2315)))) (cdr .form.2313)))) (core#begin (.define-transformer", -".2252 (core#quote quasiquote) (core#lambda (.form.2318 .env.2319) (core#begin (c", -"ore#define .quasiquote?.2320 (core#lambda (.form.2324) (core#if (pair? .form.232", -"4) (core#if (identifier? (car .form.2324)) (identifier=? (.the.2253 (core#quote ", -"quasiquote)) (make-identifier (car .form.2324) .env.2319)) #f) #f))) (core#begin", -" (core#define .unquote?.2321 (core#lambda (.form.2325) (core#if (pair? .form.232", -"5) (core#if (identifier? (car .form.2325)) (identifier=? (.the.2253 (core#quote ", -"unquote)) (make-identifier (car .form.2325) .env.2319)) #f) #f))) (core#begin (c", -"ore#define .unquote-splicing?.2322 (core#lambda (.form.2326) (core#if (pair? .fo", -"rm.2326) (core#if (pair? (car .form.2326)) (core#if (identifier? (caar .form.232", -"6)) (identifier=? (.the.2253 (core#quote unquote-splicing)) (make-identifier (ca", -"ar .form.2326) .env.2319)) #f) #f) #f))) (core#begin (core#define .qq.2323 (core", -"#lambda (.depth.2327 .expr.2328) (core#if (.unquote?.2321 .expr.2328) (core#if (", -"= .depth.2327 1) (cadr .expr.2328) (list (.the.2253 (core#quote list)) (list (.t", -"he.2253 (core#quote quote)) (.the.2253 (core#quote unquote))) (.qq.2323 (- .dept", -"h.2327 1) (car (cdr .expr.2328))))) (core#if (.unquote-splicing?.2322 .expr.2328", -") (core#if (= .depth.2327 1) (list (.the.2253 (core#quote append)) (car (cdr (ca", -"r .expr.2328))) (.qq.2323 .depth.2327 (cdr .expr.2328))) (list (.the.2253 (core#", -"quote cons)) (list (.the.2253 (core#quote list)) (list (.the.2253 (core#quote qu", -"ote)) (.the.2253 (core#quote unquote-splicing))) (.qq.2323 (- .depth.2327 1) (ca", -"r (cdr (car .expr.2328))))) (.qq.2323 .depth.2327 (cdr .expr.2328)))) (core#if (", -".quasiquote?.2320 .expr.2328) (list (.the.2253 (core#quote list)) (list (.the.22", -"53 (core#quote quote)) (.the.2253 (core#quote quasiquote))) (.qq.2323 (+ .depth.", -"2327 1) (car (cdr .expr.2328)))) (core#if (pair? .expr.2328) (list (.the.2253 (c", -"ore#quote cons)) (.qq.2323 .depth.2327 (car .expr.2328)) (.qq.2323 .depth.2327 (", -"cdr .expr.2328))) (core#if (vector? .expr.2328) (list (.the.2253 (core#quote lis", -"t->vector)) (.qq.2323 .depth.2327 (vector->list .expr.2328))) (list (.the.2253 (", -"core#quote quote)) .expr.2328)))))))) ((core#lambda (.x.2329) (.qq.2323 1 .x.232", -"9)) (cadr .form.2318)))))))) (core#begin (.define-transformer.2252 (core#quote l", -"et*) (core#lambda (.form.2330 .env.2331) ((core#lambda (.bindings.2332 .body.233", -"3) (core#if (null? .bindings.2332) (cons (.the.2253 (core#quote let)) (cons (cor", -"e#quote ()) .body.2333)) (cons (.the.2253 (core#quote let)) (cons (cons (cons (c", -"ar (car .bindings.2332)) (cdr (car .bindings.2332))) (core#quote ())) (cons (con", -"s (.the.2253 (core#quote let*)) (cons (cdr .bindings.2332) .body.2333)) (core#qu", -"ote ())))))) (car (cdr .form.2330)) (cdr (cdr .form.2330))))) (core#begin (.defi", -"ne-transformer.2252 (core#quote letrec) (core#lambda (.form.2334 .env.2335) (con", -"s (.the.2253 (core#quote letrec*)) (cdr .form.2334)))) (core#begin (.define-tran", -"sformer.2252 (core#quote letrec*) (core#lambda (.form.2336 .env.2337) ((core#lam", -"bda (.bindings.2338 .body.2339) ((core#lambda (.variables.2340 .initials.2341) (", -"cons (.the.2253 (core#quote let)) (cons .variables.2340 (append .initials.2341 (", -"append .body.2339 (core#quote ())))))) (map (core#lambda (.v.2342) (cons .v.2342", -" (cons (core#quote #undefined) (core#quote ())))) (map car .bindings.2338)) (map", -" (core#lambda (.v.2343) (cons (.the.2253 (core#quote set!)) (append .v.2343 (cor", -"e#quote ())))) .bindings.2338))) (car (cdr .form.2336)) (cdr (cdr .form.2336))))", -") (core#begin (.define-transformer.2252 (core#quote let-values) (core#lambda (.f", -"orm.2344 .env.2345) (cons (.the.2253 (core#quote let*-values)) (append (cdr .for", -"m.2344) (core#quote ()))))) (core#begin (.define-transformer.2252 (core#quote le", -"t*-values) (core#lambda (.form.2346 .env.2347) ((core#lambda (.formals.2348 .bod", -"y.2349) (core#if (null? .formals.2348) (cons (.the.2253 (core#quote let)) (cons ", -"(core#quote ()) (append .body.2349 (core#quote ())))) ((core#lambda (.formal.235", -"0) (cons (.the.2253 (core#quote call-with-values)) (cons (cons .the-lambda.2262 ", -"(cons (core#quote ()) (cdr .formal.2350))) (cons (cons (.the.2253 (core#quote la", -"mbda)) (cons (car .formal.2350) (cons (cons (.the.2253 (core#quote let*-values))", -" (cons (cdr .formals.2348) .body.2349)) (core#quote ())))) (core#quote ()))))) (", -"car .formals.2348)))) (cadr .form.2346) (cddr .form.2346)))) (core#begin (.defin", -"e-transformer.2252 (core#quote define-values) (core#lambda (.form.2351 .env.2352", -") ((core#lambda (.formal.2353 .body.2354) ((core#lambda (.arguments.2355) (cons ", -".the-begin.2263 (append ((core#lambda () (core#begin (core#define .loop.2356 (co", -"re#lambda (.formal.2357) (core#if (pair? .formal.2357) (cons (cons .the-define.2", -"261 (cons (car .formal.2357) (cons (core#quote #undefined) (core#quote ())))) (.", -"loop.2356 (cdr .formal.2357))) (core#if (identifier? .formal.2357) (cons (cons .", -"the-define.2261 (cons .formal.2357 (cons (core#quote #undefined) (core#quote ())", -"))) (core#quote ())) (core#quote ()))))) (.loop.2356 .formal.2353)))) (cons (con", -"s (.the.2253 (core#quote call-with-values)) (cons (cons .the-lambda.2262 (cons (", -"core#quote ()) (append .body.2354 (core#quote ())))) (cons (cons .the-lambda.226", -"2 (cons .arguments.2355 (append ((core#lambda () (core#begin (core#define .loop.", -"2358 (core#lambda (.formal.2359 .args.2360) (core#if (pair? .formal.2359) (cons ", -"(cons .the-set!.2265 (cons (car .formal.2359) (cons (cons (.the.2253 (core#quote", -" car)) (cons .args.2360 (core#quote ()))) (core#quote ())))) (.loop.2358 (cdr .f", -"ormal.2359) (cons (.the.2253 (core#quote cdr)) (cons .args.2360 (core#quote ()))", -"))) (core#if (identifier? .formal.2359) (cons (cons .the-set!.2265 (cons .formal", -".2359 (cons .args.2360 (core#quote ())))) (core#quote ())) (core#quote ()))))) (", -".loop.2358 .formal.2353 .arguments.2355)))) (core#quote ())))) (core#quote ())))", -") (core#quote ()))))) (make-identifier (core#quote arguments) .env.2352))) (cadr", -" .form.2351) (cddr .form.2351)))) (core#begin (.define-transformer.2252 (core#qu", -"ote do) (core#lambda (.form.2361 .env.2362) ((core#lambda (.bindings.2363 .test.", -"2364 .cleanup.2365 .body.2366) ((core#lambda (.loop.2367) (cons (.the.2253 (core", -"#quote let)) (cons .loop.2367 (cons (map (core#lambda (.x.2368) (cons (car .x.23", -"68) (cons (cadr .x.2368) (core#quote ())))) .bindings.2363) (cons (cons .the-if.", -"2266 (cons .test.2364 (cons (cons .the-begin.2263 .cleanup.2365) (cons (cons .th", -"e-begin.2263 (append .body.2366 (cons (cons .loop.2367 (map (core#lambda (.x.236", -"9) (core#if (null? (cdr (cdr .x.2369))) (car .x.2369) (car (cdr (cdr .x.2369))))", -") .bindings.2363)) (core#quote ())))) (core#quote ()))))) (core#quote ())))))) (", -"make-identifier (core#quote loop) .env.2362))) (car (cdr .form.2361)) (car (car ", -"(cdr (cdr .form.2361)))) (cdr (car (cdr (cdr .form.2361)))) (cdr (cdr (cdr .form", -".2361)))))) (core#begin (.define-transformer.2252 (core#quote when) (core#lambda", -" (.form.2370 .env.2371) ((core#lambda (.test.2372 .body.2373) (cons .the-if.2266", -" (cons .test.2372 (cons (cons .the-begin.2263 (append .body.2373 (core#quote ())", -")) (cons (core#quote #undefined) (core#quote ())))))) (car (cdr .form.2370)) (cd", -"r (cdr .form.2370))))) (core#begin (.define-transformer.2252 (core#quote unless)", -" (core#lambda (.form.2374 .env.2375) ((core#lambda (.test.2376 .body.2377) (cons", -" .the-if.2266 (cons .test.2376 (cons (core#quote #undefined) (cons (cons .the-be", -"gin.2263 (append .body.2377 (core#quote ()))) (core#quote ())))))) (car (cdr .fo", -"rm.2374)) (cdr (cdr .form.2374))))) (core#begin (.define-transformer.2252 (core#", -"quote case) (core#lambda (.form.2378 .env.2379) ((core#lambda (.key.2380 .clause", -"s.2381) ((core#lambda (.the-key.2382) (cons (.the.2253 (core#quote let)) (cons (", -"cons (cons .the-key.2382 (cons .key.2380 (core#quote ()))) (core#quote ())) (con", -"s ((core#lambda () (core#begin (core#define .loop.2383 (core#lambda (.clauses.23", -"84) (core#if (null? .clauses.2384) #undefined ((core#lambda (.clause.2385) (cons", -" .the-if.2266 (cons (core#if (core#if (identifier? (car .clause.2385)) (identifi", -"er=? (.the.2253 (core#quote else)) (make-identifier (car .clause.2385) .env.2379", -")) #f) #t (cons (.the.2253 (core#quote or)) (append (map (core#lambda (.x.2386) ", -"(cons (.the.2253 (core#quote eqv?)) (cons .the-key.2382 (cons (cons .the-quote.2", -"264 (cons .x.2386 (core#quote ()))) (core#quote ()))))) (car .clause.2385)) (cor", -"e#quote ())))) (cons (core#if (core#if (identifier? (cadr .clause.2385)) (identi", -"fier=? (.the.2253 (core#quote =>)) (make-identifier (cadr .clause.2385) .env.237", -"9)) #f) (cons (car (cdr (cdr .clause.2385))) (cons .the-key.2382 (core#quote ())", -")) (cons .the-begin.2263 (append (cdr .clause.2385) (core#quote ())))) (cons (.l", -"oop.2383 (cdr .clauses.2384)) (core#quote ())))))) (car .clauses.2384))))) (.loo", -"p.2383 .clauses.2381)))) (core#quote ()))))) (make-identifier (core#quote key) .", -"env.2379))) (car (cdr .form.2378)) (cdr (cdr .form.2378))))) (.define-transforme", -"r.2252 (core#quote parameterize) (core#lambda (.form.2387 .env.2388) ((core#lamb", -"da (.formal.2389 .body.2390) (cons (.the.2253 (core#quote with-dynamic-environme", -"nt)) (cons (cons (.the.2253 (core#quote list)) (append (map (core#lambda (.x.239", -"1) (cons (.the.2253 (core#quote cons)) (cons (car .x.2391) (cons (cadr .x.2391) ", -"(core#quote ()))))) .formal.2389) (core#quote ()))) (cons (cons .the-lambda.2262", -" (cons (core#quote ()) (append .body.2390 (core#quote ())))) (core#quote ())))))", -" (car (cdr .form.2387)) (cdr (cdr .form.2387))))))))))))))))))))))))))))))))))))", +"e-transformer.2228 (core#quote =>) (core#lambda ._.2274 (error \"invalid use of a", +"uxiliary syntax\" (core#quote =>)))) (core#begin (.define-transformer.2228 (core#", +"quote unquote) (core#lambda ._.2275 (error \"invalid use of auxiliary syntax\" (co", +"re#quote unquote)))) (core#begin (.define-transformer.2228 (core#quote unquote-s", +"plicing) (core#lambda ._.2276 (error \"invalid use of auxiliary syntax\" (core#quo", +"te unquote-splicing)))) (core#begin (.define-transformer.2228 (core#quote let) (", +"core#lambda (.form.2277 .env.2278) (core#if (identifier? (cadr .form.2277)) ((co", +"re#lambda (.name.2279 .formal.2280 .body.2281) (cons (cons .the-lambda.2238 (con", +"s (core#quote ()) (cons (cons .the-define.2237 (cons (cons .name.2279 (map car .", +"formal.2280)) .body.2281)) (cons (cons .name.2279 (map cadr .formal.2280)) (core", +"#quote ()))))) (core#quote ()))) (car (cdr .form.2277)) (car (cdr (cdr .form.227", +"7))) (cdr (cdr (cdr .form.2277)))) ((core#lambda (.formal.2282 .body.2283) (cons", +" (cons .the-lambda.2238 (cons (map car .formal.2282) .body.2283)) (map cadr .for", +"mal.2282))) (car (cdr .form.2277)) (cdr (cdr .form.2277)))))) (core#begin (.defi", +"ne-transformer.2228 (core#quote and) (core#lambda (.form.2284 .env.2285) (core#i", +"f (null? (cdr .form.2284)) #t (core#if (null? (cddr .form.2284)) (cadr .form.228", +"4) (cons .the-if.2242 (cons (cadr .form.2284) (cons (cons (.the.2229 (core#quote", +" and)) (cddr .form.2284)) (cons (core#quote #f) (core#quote ()))))))))) (core#be", +"gin (.define-transformer.2228 (core#quote or) (core#lambda (.form.2286 .env.2287", +") (core#if (null? (cdr .form.2286)) #f ((core#lambda (.tmp.2288) (cons (.the.222", +"9 (core#quote let)) (cons (cons (cons .tmp.2288 (cons (cadr .form.2286) (core#qu", +"ote ()))) (core#quote ())) (cons (cons .the-if.2242 (cons .tmp.2288 (cons .tmp.2", +"288 (cons (cons (.the.2229 (core#quote or)) (cddr .form.2286)) (core#quote ())))", +")) (core#quote ()))))) (make-identifier (core#quote it) .env.2287))))) (core#beg", +"in (.define-transformer.2228 (core#quote cond) (core#lambda (.form.2289 .env.229", +"0) ((core#lambda (.clauses.2291) (core#if (null? .clauses.2291) #undefined ((cor", +"e#lambda (.clause.2292) (core#if (core#if (identifier? (car .clause.2292)) (iden", +"tifier=? (.the.2229 (core#quote else)) (make-identifier (car .clause.2292) .env.", +"2290)) #f) (cons .the-begin.2239 (cdr .clause.2292)) (core#if (null? (cdr .claus", +"e.2292)) (cons (.the.2229 (core#quote or)) (cons (car .clause.2292) (cons (cons ", +"(.the.2229 (core#quote cond)) (cdr .clauses.2291)) (core#quote ())))) (core#if (", +"core#if (identifier? (cadr .clause.2292)) (identifier=? (.the.2229 (core#quote =", +">)) (make-identifier (cadr .clause.2292) .env.2290)) #f) ((core#lambda (.tmp.229", +"3) (cons (.the.2229 (core#quote let)) (cons (cons (cons .tmp.2293 (cons (car .cl", +"ause.2292) (core#quote ()))) (core#quote ())) (cons (cons .the-if.2242 (cons .tm", +"p.2293 (cons (cons (cadr (cdr .clause.2292)) (cons .tmp.2293 (core#quote ()))) (", +"cons (cons (.the.2229 (core#quote cond)) (cddr .form.2289)) (core#quote ()))))) ", +"(core#quote ()))))) (make-identifier (core#quote tmp) .env.2290)) (cons .the-if.", +"2242 (cons (car .clause.2292) (cons (cons .the-begin.2239 (cdr .clause.2292)) (c", +"ons (cons (.the.2229 (core#quote cond)) (cdr .clauses.2291)) (core#quote ())))))", +")))) (car .clauses.2291)))) (cdr .form.2289)))) (core#begin (.define-transformer", +".2228 (core#quote quasiquote) (core#lambda (.form.2294 .env.2295) (core#begin (c", +"ore#define .quasiquote?.2296 (core#lambda (.form.2300) (core#if (pair? .form.230", +"0) (core#if (identifier? (car .form.2300)) (identifier=? (.the.2229 (core#quote ", +"quasiquote)) (make-identifier (car .form.2300) .env.2295)) #f) #f))) (core#begin", +" (core#define .unquote?.2297 (core#lambda (.form.2301) (core#if (pair? .form.230", +"1) (core#if (identifier? (car .form.2301)) (identifier=? (.the.2229 (core#quote ", +"unquote)) (make-identifier (car .form.2301) .env.2295)) #f) #f))) (core#begin (c", +"ore#define .unquote-splicing?.2298 (core#lambda (.form.2302) (core#if (pair? .fo", +"rm.2302) (core#if (pair? (car .form.2302)) (core#if (identifier? (caar .form.230", +"2)) (identifier=? (.the.2229 (core#quote unquote-splicing)) (make-identifier (ca", +"ar .form.2302) .env.2295)) #f) #f) #f))) (core#begin (core#define .qq.2299 (core", +"#lambda (.depth.2303 .expr.2304) (core#if (.unquote?.2297 .expr.2304) (core#if (", +"= .depth.2303 1) (cadr .expr.2304) (list (.the.2229 (core#quote list)) (list (.t", +"he.2229 (core#quote quote)) (.the.2229 (core#quote unquote))) (.qq.2299 (- .dept", +"h.2303 1) (car (cdr .expr.2304))))) (core#if (.unquote-splicing?.2298 .expr.2304", +") (core#if (= .depth.2303 1) (list (.the.2229 (core#quote append)) (car (cdr (ca", +"r .expr.2304))) (.qq.2299 .depth.2303 (cdr .expr.2304))) (list (.the.2229 (core#", +"quote cons)) (list (.the.2229 (core#quote list)) (list (.the.2229 (core#quote qu", +"ote)) (.the.2229 (core#quote unquote-splicing))) (.qq.2299 (- .depth.2303 1) (ca", +"r (cdr (car .expr.2304))))) (.qq.2299 .depth.2303 (cdr .expr.2304)))) (core#if (", +".quasiquote?.2296 .expr.2304) (list (.the.2229 (core#quote list)) (list (.the.22", +"29 (core#quote quote)) (.the.2229 (core#quote quasiquote))) (.qq.2299 (+ .depth.", +"2303 1) (car (cdr .expr.2304)))) (core#if (pair? .expr.2304) (list (.the.2229 (c", +"ore#quote cons)) (.qq.2299 .depth.2303 (car .expr.2304)) (.qq.2299 .depth.2303 (", +"cdr .expr.2304))) (core#if (vector? .expr.2304) (list (.the.2229 (core#quote lis", +"t->vector)) (.qq.2299 .depth.2303 (vector->list .expr.2304))) (list (.the.2229 (", +"core#quote quote)) .expr.2304)))))))) ((core#lambda (.x.2305) (.qq.2299 1 .x.230", +"5)) (cadr .form.2294)))))))) (core#begin (.define-transformer.2228 (core#quote l", +"et*) (core#lambda (.form.2306 .env.2307) ((core#lambda (.bindings.2308 .body.230", +"9) (core#if (null? .bindings.2308) (cons (.the.2229 (core#quote let)) (cons (cor", +"e#quote ()) .body.2309)) (cons (.the.2229 (core#quote let)) (cons (cons (cons (c", +"ar (car .bindings.2308)) (cdr (car .bindings.2308))) (core#quote ())) (cons (con", +"s (.the.2229 (core#quote let*)) (cons (cdr .bindings.2308) .body.2309)) (core#qu", +"ote ())))))) (car (cdr .form.2306)) (cdr (cdr .form.2306))))) (core#begin (.defi", +"ne-transformer.2228 (core#quote letrec) (core#lambda (.form.2310 .env.2311) (con", +"s (.the.2229 (core#quote letrec*)) (cdr .form.2310)))) (core#begin (.define-tran", +"sformer.2228 (core#quote letrec*) (core#lambda (.form.2312 .env.2313) ((core#lam", +"bda (.bindings.2314 .body.2315) ((core#lambda (.variables.2316 .initials.2317) (", +"cons (.the.2229 (core#quote let)) (cons .variables.2316 (append .initials.2317 (", +"append .body.2315 (core#quote ())))))) (map (core#lambda (.v.2318) (cons .v.2318", +" (cons (core#quote #undefined) (core#quote ())))) (map car .bindings.2314)) (map", +" (core#lambda (.v.2319) (cons (.the.2229 (core#quote set!)) (append .v.2319 (cor", +"e#quote ())))) .bindings.2314))) (car (cdr .form.2312)) (cdr (cdr .form.2312))))", +") (core#begin (.define-transformer.2228 (core#quote let-values) (core#lambda (.f", +"orm.2320 .env.2321) (cons (.the.2229 (core#quote let*-values)) (append (cdr .for", +"m.2320) (core#quote ()))))) (core#begin (.define-transformer.2228 (core#quote le", +"t*-values) (core#lambda (.form.2322 .env.2323) ((core#lambda (.formals.2324 .bod", +"y.2325) (core#if (null? .formals.2324) (cons (.the.2229 (core#quote let)) (cons ", +"(core#quote ()) (append .body.2325 (core#quote ())))) ((core#lambda (.formal.232", +"6) (cons (.the.2229 (core#quote call-with-values)) (cons (cons .the-lambda.2238 ", +"(cons (core#quote ()) (cdr .formal.2326))) (cons (cons (.the.2229 (core#quote la", +"mbda)) (cons (car .formal.2326) (cons (cons (.the.2229 (core#quote let*-values))", +" (cons (cdr .formals.2324) .body.2325)) (core#quote ())))) (core#quote ()))))) (", +"car .formals.2324)))) (cadr .form.2322) (cddr .form.2322)))) (core#begin (.defin", +"e-transformer.2228 (core#quote define-values) (core#lambda (.form.2327 .env.2328", +") ((core#lambda (.formal.2329 .body.2330) ((core#lambda (.arguments.2331) (cons ", +".the-begin.2239 (append ((core#lambda () (core#begin (core#define .loop.2332 (co", +"re#lambda (.formal.2333) (core#if (pair? .formal.2333) (cons (cons .the-define.2", +"237 (cons (car .formal.2333) (cons (core#quote #undefined) (core#quote ())))) (.", +"loop.2332 (cdr .formal.2333))) (core#if (identifier? .formal.2333) (cons (cons .", +"the-define.2237 (cons .formal.2333 (cons (core#quote #undefined) (core#quote ())", +"))) (core#quote ())) (core#quote ()))))) (.loop.2332 .formal.2329)))) (cons (con", +"s (.the.2229 (core#quote call-with-values)) (cons (cons .the-lambda.2238 (cons (", +"core#quote ()) (append .body.2330 (core#quote ())))) (cons (cons .the-lambda.223", +"8 (cons .arguments.2331 (append ((core#lambda () (core#begin (core#define .loop.", +"2334 (core#lambda (.formal.2335 .args.2336) (core#if (pair? .formal.2335) (cons ", +"(cons .the-set!.2241 (cons (car .formal.2335) (cons (cons (.the.2229 (core#quote", +" car)) (cons .args.2336 (core#quote ()))) (core#quote ())))) (.loop.2334 (cdr .f", +"ormal.2335) (cons (.the.2229 (core#quote cdr)) (cons .args.2336 (core#quote ()))", +"))) (core#if (identifier? .formal.2335) (cons (cons .the-set!.2241 (cons .formal", +".2335 (cons .args.2336 (core#quote ())))) (core#quote ())) (core#quote ()))))) (", +".loop.2334 .formal.2329 .arguments.2331)))) (core#quote ())))) (core#quote ())))", +") (core#quote ()))))) (make-identifier (core#quote arguments) .env.2328))) (cadr", +" .form.2327) (cddr .form.2327)))) (core#begin (.define-transformer.2228 (core#qu", +"ote do) (core#lambda (.form.2337 .env.2338) ((core#lambda (.bindings.2339 .test.", +"2340 .cleanup.2341 .body.2342) ((core#lambda (.loop.2343) (cons (.the.2229 (core", +"#quote let)) (cons .loop.2343 (cons (map (core#lambda (.x.2344) (cons (car .x.23", +"44) (cons (cadr .x.2344) (core#quote ())))) .bindings.2339) (cons (cons .the-if.", +"2242 (cons .test.2340 (cons (cons .the-begin.2239 .cleanup.2341) (cons (cons .th", +"e-begin.2239 (append .body.2342 (cons (cons .loop.2343 (map (core#lambda (.x.234", +"5) (core#if (null? (cdr (cdr .x.2345))) (car .x.2345) (car (cdr (cdr .x.2345))))", +") .bindings.2339)) (core#quote ())))) (core#quote ()))))) (core#quote ())))))) (", +"make-identifier (core#quote loop) .env.2338))) (car (cdr .form.2337)) (car (car ", +"(cdr (cdr .form.2337)))) (cdr (car (cdr (cdr .form.2337)))) (cdr (cdr (cdr .form", +".2337)))))) (core#begin (.define-transformer.2228 (core#quote when) (core#lambda", +" (.form.2346 .env.2347) ((core#lambda (.test.2348 .body.2349) (cons .the-if.2242", +" (cons .test.2348 (cons (cons .the-begin.2239 (append .body.2349 (core#quote ())", +")) (cons (core#quote #undefined) (core#quote ())))))) (car (cdr .form.2346)) (cd", +"r (cdr .form.2346))))) (core#begin (.define-transformer.2228 (core#quote unless)", +" (core#lambda (.form.2350 .env.2351) ((core#lambda (.test.2352 .body.2353) (cons", +" .the-if.2242 (cons .test.2352 (cons (core#quote #undefined) (cons (cons .the-be", +"gin.2239 (append .body.2353 (core#quote ()))) (core#quote ())))))) (car (cdr .fo", +"rm.2350)) (cdr (cdr .form.2350))))) (core#begin (.define-transformer.2228 (core#", +"quote case) (core#lambda (.form.2354 .env.2355) ((core#lambda (.key.2356 .clause", +"s.2357) ((core#lambda (.the-key.2358) (cons (.the.2229 (core#quote let)) (cons (", +"cons (cons .the-key.2358 (cons .key.2356 (core#quote ()))) (core#quote ())) (con", +"s ((core#lambda () (core#begin (core#define .loop.2359 (core#lambda (.clauses.23", +"60) (core#if (null? .clauses.2360) #undefined ((core#lambda (.clause.2361) (cons", +" .the-if.2242 (cons (core#if (core#if (identifier? (car .clause.2361)) (identifi", +"er=? (.the.2229 (core#quote else)) (make-identifier (car .clause.2361) .env.2355", +")) #f) #t (cons (.the.2229 (core#quote or)) (append (map (core#lambda (.x.2362) ", +"(cons (.the.2229 (core#quote eqv?)) (cons .the-key.2358 (cons (cons .the-quote.2", +"240 (cons .x.2362 (core#quote ()))) (core#quote ()))))) (car .clause.2361)) (cor", +"e#quote ())))) (cons (core#if (core#if (identifier? (cadr .clause.2361)) (identi", +"fier=? (.the.2229 (core#quote =>)) (make-identifier (cadr .clause.2361) .env.235", +"5)) #f) (cons (car (cdr (cdr .clause.2361))) (cons .the-key.2358 (core#quote ())", +")) (cons .the-begin.2239 (append (cdr .clause.2361) (core#quote ())))) (cons (.l", +"oop.2359 (cdr .clauses.2360)) (core#quote ())))))) (car .clauses.2360))))) (.loo", +"p.2359 .clauses.2357)))) (core#quote ()))))) (make-identifier (core#quote key) .", +"env.2355))) (car (cdr .form.2354)) (cdr (cdr .form.2354))))) (.define-transforme", +"r.2228 (core#quote parameterize) (core#lambda (.form.2363 .env.2364) ((core#lamb", +"da (.formal.2365 .body.2366) (cons (.the.2229 (core#quote with-dynamic-environme", +"nt)) (cons (cons (.the.2229 (core#quote list)) (append (map (core#lambda (.x.236", +"7) (cons (.the.2229 (core#quote cons)) (cons (car .x.2367) (cons (cadr .x.2367) ", +"(core#quote ()))))) .formal.2365) (core#quote ()))) (cons (cons .the-lambda.2238", +" (cons (core#quote ()) (append .body.2366 (core#quote ())))) (core#quote ())))))", +" (car (cdr .form.2363)) (cdr (cdr .form.2363))))))))))))))))))))))))))))))))))))", ")))))))))))))))", - }; #if PIC_USE_LIBRARY static const char boot_library_rom[][80] = { -"(core#begin (core#define mangle (core#lambda (.name.2392) (core#begin (core#if (", -"null? .name.2392) (error \"library name should be a list of at least one symbols\"", -" .name.2392) #undefined) (core#begin (core#define .->string.2393 (core#lambda (.", -"n.2395) (core#if (symbol? .n.2395) ((core#lambda (.str.2396) (core#begin (string", -"-for-each (core#lambda (.c.2397) (core#if ((core#lambda (.it.2398) (core#if .it.", -"2398 .it.2398 ((core#lambda (.it.2399) (core#if .it.2399 .it.2399 #f)) (char=? .", -"c.2397 #\\:)))) (char=? .c.2397 #\\.)) (error \"elements of library name may not co", -"ntain '.' or ':'\" .n.2395) #undefined)) .str.2396) .str.2396)) (symbol->string .", -"n.2395)) (core#if (core#if (number? .n.2395) (core#if (exact? .n.2395) (<= 0 .n.", -"2395) #f) #f) (number->string .n.2395) (error \"symbol or non-negative integer is", -" required\" .n.2395))))) (core#begin (core#define .join.2394 (core#lambda (.strs.", -"2400 .delim.2401) ((core#lambda () (core#begin (core#define .loop.2402 (core#lam", -"bda (.res.2403 .strs.2404) (core#if (null? .strs.2404) .res.2403 (.loop.2402 (st", -"ring-append .res.2403 .delim.2401 (car .strs.2404)) (cdr .strs.2404))))) (.loop.", -"2402 (car .strs.2400) (cdr .strs.2400))))))) (core#if (symbol? .name.2392) .name", -".2392 (string->symbol (.join.2394 (map .->string.2393 .name.2392) \".\")))))))) (c", +"(core#begin (core#define mangle (core#lambda (.name.2368) (core#begin (core#if (", +"null? .name.2368) (error \"library name should be a list of at least one symbols\"", +" .name.2368) #undefined) (core#begin (core#define .->string.2369 (core#lambda (.", +"n.2371) (core#if (symbol? .n.2371) ((core#lambda (.str.2372) (core#begin (string", +"-for-each (core#lambda (.c.2373) (core#if ((core#lambda (.it.2374) (core#if .it.", +"2374 .it.2374 ((core#lambda (.it.2375) (core#if .it.2375 .it.2375 #f)) (char=? .", +"c.2373 #\\:)))) (char=? .c.2373 #\\.)) (error \"elements of library name may not co", +"ntain '.' or ':'\" .n.2371) #undefined)) .str.2372) .str.2372)) (symbol->string .", +"n.2371)) (core#if (core#if (number? .n.2371) (core#if (exact? .n.2371) (<= 0 .n.", +"2371) #f) #f) (number->string .n.2371) (error \"symbol or non-negative integer is", +" required\" .n.2371))))) (core#begin (core#define .join.2370 (core#lambda (.strs.", +"2376 .delim.2377) ((core#lambda () (core#begin (core#define .loop.2378 (core#lam", +"bda (.res.2379 .strs.2380) (core#if (null? .strs.2380) .res.2379 (.loop.2378 (st", +"ring-append .res.2379 .delim.2377 (car .strs.2380)) (cdr .strs.2380))))) (.loop.", +"2378 (car .strs.2376) (cdr .strs.2376))))))) (core#if (symbol? .name.2368) .name", +".2368 (string->symbol (.join.2370 (map .->string.2369 .name.2368) \".\")))))))) (c", "ore#begin (core#define current-library (make-parameter (core#quote (picrin user)", ") mangle)) (core#begin (core#define *libraries* (make-dictionary)) (core#begin (", -"core#define find-library (core#lambda (.name.2405) (dictionary-has? *libraries* ", -"(mangle .name.2405)))) (core#begin (core#define make-library (core#lambda (.name", -".2406) ((core#lambda (.name.2407) ((core#lambda (.env.2408 .exports.2409) (core#", +"core#define find-library (core#lambda (.name.2381) (dictionary-has? *libraries* ", +"(mangle .name.2381)))) (core#begin (core#define make-library (core#lambda (.name", +".2382) ((core#lambda (.name.2383) ((core#lambda (.env.2384 .exports.2385) (core#", "begin (set-identifier! (core#quote define-library) (core#quote define-library) .", -"env.2408) (core#begin (set-identifier! (core#quote import) (core#quote import) .", -"env.2408) (core#begin (set-identifier! (core#quote export) (core#quote export) .", -"env.2408) (core#begin (set-identifier! (core#quote cond-expand) (core#quote cond", -"-expand) .env.2408) (dictionary-set! *libraries* .name.2407 (cons .env.2408 .exp", -"orts.2409))))))) (make-environment (string->symbol (string-append (symbol->strin", -"g .name.2407) \":\"))) (make-dictionary))) (mangle .name.2406)))) (core#begin (cor", -"e#define library-environment (core#lambda (.name.2410) (car (dictionary-ref *lib", -"raries* (mangle .name.2410))))) (core#begin (core#define library-exports (core#l", -"ambda (.name.2411) (cdr (dictionary-ref *libraries* (mangle .name.2411))))) (cor", -"e#begin (core#define library-import (core#lambda (.name.2412 .sym.2413 .alias.24", -"14) ((core#lambda (.uid.2415) ((core#lambda (.env.2416) (set-identifier! .alias.", -"2414 .uid.2415 .env.2416)) (library-environment (current-library)))) (dictionary", -"-ref (library-exports .name.2412) .sym.2413)))) (core#begin (core#define library", -"-export (core#lambda (.sym.2417 .alias.2418) ((core#lambda (.env.2419 .exports.2", -"420) (dictionary-set! .exports.2420 .alias.2418 (find-identifier .sym.2417 .env.", -"2419))) (library-environment (current-library)) (library-exports (current-librar", -"y))))) (core#begin ((core#lambda (.define-transformer.2421) (core#begin (.define", -"-transformer.2421 (core#quote define-library) (core#lambda (.form.2422 ._.2423) ", -"((core#lambda (.name.2424 .body.2425) (core#begin ((core#lambda (.it.2426) (core", -"#if .it.2426 .it.2426 ((core#lambda (.it.2427) (core#if .it.2427 .it.2427 #f)) (", -"make-library .name.2424)))) (find-library .name.2424)) (with-dynamic-environment", -" (list (cons current-library .name.2424)) (core#lambda () (for-each (core#lambda", -" (.expr.2428) (eval .expr.2428 .name.2424)) .body.2425))))) (cadr .form.2422) (c", -"ddr .form.2422)))) (core#begin (.define-transformer.2421 (core#quote cond-expand", -") (core#lambda (.form.2429 ._.2430) ((core#lambda (.test.2431) (core#begin (core", -"#set! .test.2431 (core#lambda (.form.2432) ((core#lambda (.it.2433) (core#if .it", -".2433 .it.2433 ((core#lambda (.it.2434) (core#if .it.2434 .it.2434 ((core#lambda", -" (.it.2435) (core#if .it.2435 .it.2435 #f)) (core#if (pair? .form.2432) ((core#l", -"ambda (.key.2436) (core#if ((core#lambda (.it.2437) (core#if .it.2437 .it.2437 #", -"f)) (eqv? .key.2436 (core#quote library))) (find-library (cadr .form.2432)) (cor", -"e#if ((core#lambda (.it.2438) (core#if .it.2438 .it.2438 #f)) (eqv? .key.2436 (c", -"ore#quote not))) (not (.test.2431 (cadr .form.2432))) (core#if ((core#lambda (.i", -"t.2439) (core#if .it.2439 .it.2439 #f)) (eqv? .key.2436 (core#quote and))) ((cor", -"e#lambda () (core#begin (core#define .loop.2440 (core#lambda (.form.2441) ((core", -"#lambda (.it.2442) (core#if .it.2442 .it.2442 ((core#lambda (.it.2443) (core#if ", -".it.2443 .it.2443 #f)) (core#if (.test.2431 (car .form.2441)) (.loop.2440 (cdr .", -"form.2441)) #f)))) (null? .form.2441)))) (.loop.2440 (cdr .form.2432))))) (core#", -"if ((core#lambda (.it.2444) (core#if .it.2444 .it.2444 #f)) (eqv? .key.2436 (cor", -"e#quote or))) ((core#lambda () (core#begin (core#define .loop.2445 (core#lambda ", -"(.form.2446) (core#if (pair? .form.2446) ((core#lambda (.it.2447) (core#if .it.2", -"447 .it.2447 ((core#lambda (.it.2448) (core#if .it.2448 .it.2448 #f)) (.loop.244", -"5 (cdr .form.2446))))) (.test.2431 (car .form.2446))) #f))) (.loop.2445 (cdr .fo", -"rm.2432))))) (core#if #t #f #undefined)))))) (car .form.2432)) #f)))) (core#if (", -"symbol? .form.2432) (memq .form.2432 (features)) #f)))) (eq? .form.2432 (core#qu", -"ote else))))) ((core#lambda () (core#begin (core#define .loop.2449 (core#lambda ", -"(.clauses.2450) (core#if (null? .clauses.2450) #undefined (core#if (.test.2431 (", -"caar .clauses.2450)) (cons (make-identifier (core#quote begin) default-environme", -"nt) (append (cdar .clauses.2450) (core#quote ()))) (.loop.2449 (cdr .clauses.245", -"0)))))) (.loop.2449 (cdr .form.2429))))))) #undefined))) (core#begin (.define-tr", -"ansformer.2421 (core#quote import) (core#lambda (.form.2451 ._.2452) ((core#lamb", -"da (.caddr.2453 .prefix.2454 .getlib.2455) ((core#lambda (.extract.2456 .collect", -".2457) (core#begin (core#set! .extract.2456 (core#lambda (.spec.2458) ((core#lam", -"bda (.key.2459) (core#if ((core#lambda (.it.2460) (core#if .it.2460 .it.2460 ((c", -"ore#lambda (.it.2461) (core#if .it.2461 .it.2461 ((core#lambda (.it.2462) (core#", -"if .it.2462 .it.2462 ((core#lambda (.it.2463) (core#if .it.2463 .it.2463 #f)) (e", -"qv? .key.2459 (core#quote except))))) (eqv? .key.2459 (core#quote prefix))))) (e", -"qv? .key.2459 (core#quote rename))))) (eqv? .key.2459 (core#quote only))) (.extr", -"act.2456 (cadr .spec.2458)) (core#if #t (.getlib.2455 .spec.2458) #undefined))) ", -"(car .spec.2458)))) (core#begin (core#set! .collect.2457 (core#lambda (.spec.246", -"4) ((core#lambda (.key.2465) (core#if ((core#lambda (.it.2466) (core#if .it.2466", -" .it.2466 #f)) (eqv? .key.2465 (core#quote only))) ((core#lambda (.alist.2467) (", -"map (core#lambda (.var.2468) (assq .var.2468 .alist.2467)) (cddr .spec.2464))) (", -".collect.2457 (cadr .spec.2464))) (core#if ((core#lambda (.it.2469) (core#if .it", -".2469 .it.2469 #f)) (eqv? .key.2465 (core#quote rename))) ((core#lambda (.alist.", -"2470 .renames.2471) (map (core#lambda (.s.2472) ((core#lambda (.it.2473) (core#i", -"f .it.2473 .it.2473 ((core#lambda (.it.2474) (core#if .it.2474 .it.2474 #f)) .s.", -"2472))) (assq (car .s.2472) .renames.2471))) .alist.2470)) (.collect.2457 (cadr ", -".spec.2464)) (map (core#lambda (.x.2475) (cons (car .x.2475) (cadr .x.2475))) (c", -"ddr .spec.2464))) (core#if ((core#lambda (.it.2476) (core#if .it.2476 .it.2476 #", -"f)) (eqv? .key.2465 (core#quote prefix))) ((core#lambda (.alist.2477) (map (core", -"#lambda (.s.2478) (cons (.prefix.2454 (.caddr.2453 .spec.2464) (car .s.2478)) (c", -"dr .s.2478))) .alist.2477)) (.collect.2457 (cadr .spec.2464))) (core#if ((core#l", -"ambda (.it.2479) (core#if .it.2479 .it.2479 #f)) (eqv? .key.2465 (core#quote exc", -"ept))) ((core#lambda (.alist.2480) ((core#lambda () (core#begin (core#define .lo", -"op.2481 (core#lambda (.alist.2482) (core#if (null? .alist.2482) (core#quote ()) ", -"(core#if (memq (caar .alist.2482) (cddr .spec.2464)) (.loop.2481 (cdr .alist.248", -"2)) (cons (car .alist.2482) (.loop.2481 (cdr .alist.2482))))))) (.loop.2481 .ali", -"st.2480))))) (.collect.2457 (cadr .spec.2464))) (core#if #t (dictionary-map (cor", -"e#lambda (.x.2483) (cons .x.2483 .x.2483)) (library-exports (.getlib.2455 .spec.", -"2464))) #undefined)))))) (car .spec.2464)))) ((core#lambda (.import.2484) (core#", -"begin (core#set! .import.2484 (core#lambda (.spec.2485) ((core#lambda (.lib.2486", -" .alist.2487) (for-each (core#lambda (.slot.2488) (library-import .lib.2486 (cdr", -" .slot.2488) (car .slot.2488))) .alist.2487)) (.extract.2456 .spec.2485) (.colle", -"ct.2457 .spec.2485)))) (for-each .import.2484 (cdr .form.2451)))) #undefined))))", -" #undefined #undefined)) (core#lambda (.x.2489) (car (cdr (cdr .x.2489)))) (core", -"#lambda (.prefix.2490 .symbol.2491) (string->symbol (string-append (symbol->stri", -"ng .prefix.2490) (symbol->string .symbol.2491)))) (core#lambda (.name.2492) (cor", -"e#if (find-library .name.2492) .name.2492 (error \"library not found\" .name.2492)", -"))))) (.define-transformer.2421 (core#quote export) (core#lambda (.form.2493 ._.", -"2494) ((core#lambda (.collect.2495 .export.2496) (core#begin (core#set! .collect", -".2495 (core#lambda (.spec.2497) (core#if (symbol? .spec.2497) (cons .spec.2497 .", -"spec.2497) (core#if (core#if (list? .spec.2497) (core#if (= (length .spec.2497) ", -"3) (eq? (car .spec.2497) (core#quote rename)) #f) #f) (cons (list-ref .spec.2497", -" 1) (list-ref .spec.2497 2)) (error \"malformed export\"))))) (core#begin (core#se", -"t! .export.2496 (core#lambda (.spec.2498) ((core#lambda (.slot.2499) (library-ex", -"port (car .slot.2499) (cdr .slot.2499))) (.collect.2495 .spec.2498)))) (for-each", -" .export.2496 (cdr .form.2493))))) #undefined #undefined))))))) (core#lambda (.n", -"ame.2500 .macro.2501) (add-macro! .name.2500 .macro.2501))) ((core#lambda () (co", +"env.2384) (core#begin (set-identifier! (core#quote import) (core#quote import) .", +"env.2384) (core#begin (set-identifier! (core#quote export) (core#quote export) .", +"env.2384) (core#begin (set-identifier! (core#quote cond-expand) (core#quote cond", +"-expand) .env.2384) (dictionary-set! *libraries* .name.2383 (cons .env.2384 .exp", +"orts.2385))))))) (make-environment (string->symbol (string-append (symbol->strin", +"g .name.2383) \":\"))) (make-dictionary))) (mangle .name.2382)))) (core#begin (cor", +"e#define library-environment (core#lambda (.name.2386) (car (dictionary-ref *lib", +"raries* (mangle .name.2386))))) (core#begin (core#define library-exports (core#l", +"ambda (.name.2387) (cdr (dictionary-ref *libraries* (mangle .name.2387))))) (cor", +"e#begin (core#define library-import (core#lambda (.name.2388 .sym.2389 .alias.23", +"90) ((core#lambda (.uid.2391) ((core#lambda (.env.2392) (set-identifier! .alias.", +"2390 .uid.2391 .env.2392)) (library-environment (current-library)))) (dictionary", +"-ref (library-exports .name.2388) .sym.2389)))) (core#begin (core#define library", +"-export (core#lambda (.sym.2393 .alias.2394) ((core#lambda (.env.2395 .exports.2", +"396) (dictionary-set! .exports.2396 .alias.2394 (find-identifier .sym.2393 .env.", +"2395))) (library-environment (current-library)) (library-exports (current-librar", +"y))))) (core#begin ((core#lambda (.define-transformer.2397) (core#begin (.define", +"-transformer.2397 (core#quote define-library) (core#lambda (.form.2398 ._.2399) ", +"((core#lambda (.name.2400 .body.2401) (core#begin ((core#lambda (.it.2402) (core", +"#if .it.2402 .it.2402 ((core#lambda (.it.2403) (core#if .it.2403 .it.2403 #f)) (", +"make-library .name.2400)))) (find-library .name.2400)) (with-dynamic-environment", +" (list (cons current-library .name.2400)) (core#lambda () (for-each (core#lambda", +" (.expr.2404) (eval .expr.2404 .name.2400)) .body.2401))))) (cadr .form.2398) (c", +"ddr .form.2398)))) (core#begin (.define-transformer.2397 (core#quote cond-expand", +") (core#lambda (.form.2405 ._.2406) ((core#lambda (.test.2407) (core#begin (core", +"#set! .test.2407 (core#lambda (.form.2408) ((core#lambda (.it.2409) (core#if .it", +".2409 .it.2409 ((core#lambda (.it.2410) (core#if .it.2410 .it.2410 ((core#lambda", +" (.it.2411) (core#if .it.2411 .it.2411 #f)) (core#if (pair? .form.2408) ((core#l", +"ambda (.key.2412) (core#if ((core#lambda (.it.2413) (core#if .it.2413 .it.2413 #", +"f)) (eqv? .key.2412 (core#quote library))) (find-library (cadr .form.2408)) (cor", +"e#if ((core#lambda (.it.2414) (core#if .it.2414 .it.2414 #f)) (eqv? .key.2412 (c", +"ore#quote not))) (not (.test.2407 (cadr .form.2408))) (core#if ((core#lambda (.i", +"t.2415) (core#if .it.2415 .it.2415 #f)) (eqv? .key.2412 (core#quote and))) ((cor", +"e#lambda () (core#begin (core#define .loop.2416 (core#lambda (.form.2417) ((core", +"#lambda (.it.2418) (core#if .it.2418 .it.2418 ((core#lambda (.it.2419) (core#if ", +".it.2419 .it.2419 #f)) (core#if (.test.2407 (car .form.2417)) (.loop.2416 (cdr .", +"form.2417)) #f)))) (null? .form.2417)))) (.loop.2416 (cdr .form.2408))))) (core#", +"if ((core#lambda (.it.2420) (core#if .it.2420 .it.2420 #f)) (eqv? .key.2412 (cor", +"e#quote or))) ((core#lambda () (core#begin (core#define .loop.2421 (core#lambda ", +"(.form.2422) (core#if (pair? .form.2422) ((core#lambda (.it.2423) (core#if .it.2", +"423 .it.2423 ((core#lambda (.it.2424) (core#if .it.2424 .it.2424 #f)) (.loop.242", +"1 (cdr .form.2422))))) (.test.2407 (car .form.2422))) #f))) (.loop.2421 (cdr .fo", +"rm.2408))))) (core#if #t #f #undefined)))))) (car .form.2408)) #f)))) (core#if (", +"symbol? .form.2408) (memq .form.2408 (features)) #f)))) (eq? .form.2408 (core#qu", +"ote else))))) ((core#lambda () (core#begin (core#define .loop.2425 (core#lambda ", +"(.clauses.2426) (core#if (null? .clauses.2426) #undefined (core#if (.test.2407 (", +"caar .clauses.2426)) (cons (make-identifier (core#quote begin) default-environme", +"nt) (append (cdar .clauses.2426) (core#quote ()))) (.loop.2425 (cdr .clauses.242", +"6)))))) (.loop.2425 (cdr .form.2405))))))) #undefined))) (core#begin (.define-tr", +"ansformer.2397 (core#quote import) (core#lambda (.form.2427 ._.2428) ((core#lamb", +"da (.caddr.2429 .prefix.2430 .getlib.2431) ((core#lambda (.extract.2432 .collect", +".2433) (core#begin (core#set! .extract.2432 (core#lambda (.spec.2434) ((core#lam", +"bda (.key.2435) (core#if ((core#lambda (.it.2436) (core#if .it.2436 .it.2436 ((c", +"ore#lambda (.it.2437) (core#if .it.2437 .it.2437 ((core#lambda (.it.2438) (core#", +"if .it.2438 .it.2438 ((core#lambda (.it.2439) (core#if .it.2439 .it.2439 #f)) (e", +"qv? .key.2435 (core#quote except))))) (eqv? .key.2435 (core#quote prefix))))) (e", +"qv? .key.2435 (core#quote rename))))) (eqv? .key.2435 (core#quote only))) (.extr", +"act.2432 (cadr .spec.2434)) (core#if #t (.getlib.2431 .spec.2434) #undefined))) ", +"(car .spec.2434)))) (core#begin (core#set! .collect.2433 (core#lambda (.spec.244", +"0) ((core#lambda (.key.2441) (core#if ((core#lambda (.it.2442) (core#if .it.2442", +" .it.2442 #f)) (eqv? .key.2441 (core#quote only))) ((core#lambda (.alist.2443) (", +"map (core#lambda (.var.2444) (assq .var.2444 .alist.2443)) (cddr .spec.2440))) (", +".collect.2433 (cadr .spec.2440))) (core#if ((core#lambda (.it.2445) (core#if .it", +".2445 .it.2445 #f)) (eqv? .key.2441 (core#quote rename))) ((core#lambda (.alist.", +"2446 .renames.2447) (map (core#lambda (.s.2448) ((core#lambda (.it.2449) (core#i", +"f .it.2449 .it.2449 ((core#lambda (.it.2450) (core#if .it.2450 .it.2450 #f)) .s.", +"2448))) (assq (car .s.2448) .renames.2447))) .alist.2446)) (.collect.2433 (cadr ", +".spec.2440)) (map (core#lambda (.x.2451) (cons (car .x.2451) (cadr .x.2451))) (c", +"ddr .spec.2440))) (core#if ((core#lambda (.it.2452) (core#if .it.2452 .it.2452 #", +"f)) (eqv? .key.2441 (core#quote prefix))) ((core#lambda (.alist.2453) (map (core", +"#lambda (.s.2454) (cons (.prefix.2430 (.caddr.2429 .spec.2440) (car .s.2454)) (c", +"dr .s.2454))) .alist.2453)) (.collect.2433 (cadr .spec.2440))) (core#if ((core#l", +"ambda (.it.2455) (core#if .it.2455 .it.2455 #f)) (eqv? .key.2441 (core#quote exc", +"ept))) ((core#lambda (.alist.2456) ((core#lambda () (core#begin (core#define .lo", +"op.2457 (core#lambda (.alist.2458) (core#if (null? .alist.2458) (core#quote ()) ", +"(core#if (memq (caar .alist.2458) (cddr .spec.2440)) (.loop.2457 (cdr .alist.245", +"8)) (cons (car .alist.2458) (.loop.2457 (cdr .alist.2458))))))) (.loop.2457 .ali", +"st.2456))))) (.collect.2433 (cadr .spec.2440))) (core#if #t (dictionary-map (cor", +"e#lambda (.x.2459) (cons .x.2459 .x.2459)) (library-exports (.getlib.2431 .spec.", +"2440))) #undefined)))))) (car .spec.2440)))) ((core#lambda (.import.2460) (core#", +"begin (core#set! .import.2460 (core#lambda (.spec.2461) ((core#lambda (.lib.2462", +" .alist.2463) (for-each (core#lambda (.slot.2464) (library-import .lib.2462 (cdr", +" .slot.2464) (car .slot.2464))) .alist.2463)) (.extract.2432 .spec.2461) (.colle", +"ct.2433 .spec.2461)))) (for-each .import.2460 (cdr .form.2427)))) #undefined))))", +" #undefined #undefined)) (core#lambda (.x.2465) (car (cdr (cdr .x.2465)))) (core", +"#lambda (.prefix.2466 .symbol.2467) (string->symbol (string-append (symbol->stri", +"ng .prefix.2466) (symbol->string .symbol.2467)))) (core#lambda (.name.2468) (cor", +"e#if (find-library .name.2468) .name.2468 (error \"library not found\" .name.2468)", +"))))) (.define-transformer.2397 (core#quote export) (core#lambda (.form.2469 ._.", +"2470) ((core#lambda (.collect.2471 .export.2472) (core#begin (core#set! .collect", +".2471 (core#lambda (.spec.2473) (core#if (symbol? .spec.2473) (cons .spec.2473 .", +"spec.2473) (core#if (core#if (list? .spec.2473) (core#if (= (length .spec.2473) ", +"3) (eq? (car .spec.2473) (core#quote rename)) #f) #f) (cons (list-ref .spec.2473", +" 1) (list-ref .spec.2473 2)) (error \"malformed export\"))))) (core#begin (core#se", +"t! .export.2472 (core#lambda (.spec.2474) ((core#lambda (.slot.2475) (library-ex", +"port (car .slot.2475) (cdr .slot.2475))) (.collect.2471 .spec.2474)))) (for-each", +" .export.2472 (cdr .form.2469))))) #undefined #undefined))))))) (core#lambda (.n", +"ame.2476 .macro.2477) (add-macro! .name.2476 .macro.2477))) ((core#lambda () (co", "re#begin (make-library (core#quote (picrin base))) (core#begin (set-car! (dictio", "nary-ref *libraries* (mangle (core#quote (picrin base)))) default-environment) (", -"core#begin ((core#lambda (.export-keywords.2502) (core#begin (.export-keywords.2", -"502 (core#quote (define lambda quote set! if begin define-macro let let* letrec ", +"core#begin ((core#lambda (.export-keywords.2478) (core#begin (.export-keywords.2", +"478 (core#quote (define lambda quote set! if begin define-macro let let* letrec ", "letrec* let-values let*-values define-values quasiquote unquote unquote-splicing", " and or cond case else => do when unless parameterize))) (core#begin (.export-ke", -"ywords.2502 (core#quote (features eq? eqv? equal? not boolean? boolean=? pair? c", +"ywords.2478 (core#quote (features eq? eqv? equal? not boolean? boolean=? pair? c", "ons car cdr null? set-car! set-cdr! caar cadr cdar cddr list? make-list list len", "gth append reverse list-tail list-ref list-set! list-copy map for-each memq memv", " member assq assv assoc current-input-port current-output-port current-error-por", @@ -375,17 +374,16 @@ static const char boot_library_rom[][80] = { "ictionary-for-each dictionary->alist alist->dictionary dictionary->plist plist->", "dictionary make-record record? record-type record-datum default-environment make", "-environment find-identifier set-identifier! eval compile add-macro! make-epheme", -"ron-table write write-simple write-shared display))) (.export-keywords.2502 (cor", +"ron-table write write-simple write-shared display))) (.export-keywords.2478 (cor", "e#quote (find-library make-library current-library)))))) (core#lambda (.keywords", -".2503) ((core#lambda (.env.2504 .exports.2505) (for-each (core#lambda (.keyword.", -"2506) (dictionary-set! .exports.2505 .keyword.2506 .keyword.2506)) .keywords.250", -"3)) (library-environment (core#quote (picrin base))) (library-exports (core#quot", -"e (picrin base)))))) (core#begin (core#set! eval ((core#lambda (.e.2507) (core#l", -"ambda (.expr.2508 . .lib.2509) ((core#lambda (.lib.2510) (.e.2507 .expr.2508 (li", -"brary-environment .lib.2510))) (core#if (null? .lib.2509) (current-library) (car", -" .lib.2509))))) eval)) (core#begin (make-library (core#quote (picrin user))) (cu", +".2479) ((core#lambda (.env.2480 .exports.2481) (for-each (core#lambda (.keyword.", +"2482) (dictionary-set! .exports.2481 .keyword.2482 .keyword.2482)) .keywords.247", +"9)) (library-environment (core#quote (picrin base))) (library-exports (core#quot", +"e (picrin base)))))) (core#begin (core#set! eval ((core#lambda (.e.2483) (core#l", +"ambda (.expr.2484 . .lib.2485) ((core#lambda (.lib.2486) (.e.2483 .expr.2484 (li", +"brary-environment .lib.2486))) (core#if (null? .lib.2485) (current-library) (car", +" .lib.2485))))) eval)) (core#begin (make-library (core#quote (picrin user))) (cu", "rrent-library (core#quote (picrin user))))))))))))))))))))", - }; #endif diff --git a/tools/mkboot.scm b/tools/mkboot.scm index fa1a0611..f7d079bc 100644 --- a/tools/mkboot.scm +++ b/tools/mkboot.scm @@ -47,26 +47,26 @@ (for-each - (lambda (s) (display s) (newline)) - `("#include \"picrin.h\"" - "#include \"picrin/extra.h\"" - "" - "static const char boot_rom[][80] = {" + display + `("#include \"picrin.h\"\n" + "#include \"picrin/extra.h\"\n" + "\n" + "static const char boot_rom[][80] = {\n" ,(generate-rom) - "};" - "" - "#if PIC_USE_LIBRARY" - "static const char boot_library_rom[][80] = {" + "};\n" + "\n" + "#if PIC_USE_LIBRARY\n" + "static const char boot_library_rom[][80] = {\n" ,(generate-rom) - "};" - "#endif" - "" - "void" - "pic_boot(pic_state *pic)" - "{" - " pic_load_native(pic, &boot_rom[0][0]);" - "#if PIC_USE_LIBRARY" - " pic_load_native(pic, &boot_library_rom[0][0]);" - "#endif" - "}")) + "};\n" + "#endif\n" + "\n" + "void\n" + "pic_boot(pic_state *pic)\n" + "{\n" + " pic_load_native(pic, &boot_rom[0][0]);\n" + "#if PIC_USE_LIBRARY\n" + " pic_load_native(pic, &boot_library_rom[0][0]);\n" + "#endif\n" + "}\n"))