|
278 | 278 | `[splice-unquote 0]
|
279 | 279 | ;=>[splice-unquote 0]
|
280 | 280 |
|
281 |
| -;; Debugging quasiquote |
282 |
| -(quasiquoteexpand nil) |
283 |
| -;=>nil |
284 |
| -(quasiquoteexpand 7) |
285 |
| -;=>7 |
286 |
| -(quasiquoteexpand a) |
287 |
| -;=>(quote a) |
288 |
| -(quasiquoteexpand {"a" b}) |
289 |
| -;=>(quote {"a" b}) |
290 |
| -(quasiquoteexpand ()) |
291 |
| -;=>() |
292 |
| -(quasiquoteexpand (1 2 3)) |
293 |
| -;=>(cons 1 (cons 2 (cons 3 ()))) |
294 |
| -(quasiquoteexpand (a)) |
295 |
| -;=>(cons (quote a) ()) |
296 |
| -(quasiquoteexpand (1 2 (3 4))) |
297 |
| -;=>(cons 1 (cons 2 (cons (cons 3 (cons 4 ())) ()))) |
298 |
| -(quasiquoteexpand (nil)) |
299 |
| -;=>(cons nil ()) |
300 |
| -(quasiquoteexpand (1 ())) |
301 |
| -;=>(cons 1 (cons () ())) |
302 |
| -(quasiquoteexpand (() 1)) |
303 |
| -;=>(cons () (cons 1 ())) |
304 |
| -(quasiquoteexpand (1 () 2)) |
305 |
| -;=>(cons 1 (cons () (cons 2 ()))) |
306 |
| -(quasiquoteexpand (())) |
307 |
| -;=>(cons () ()) |
308 |
| -(quasiquoteexpand (f () g (h) i (j k) l)) |
309 |
| -;=>(cons (quote f) (cons () (cons (quote g) (cons (cons (quote h) ()) (cons (quote i) (cons (cons (quote j) (cons (quote k) ())) (cons (quote l) ()))))))) |
310 |
| -(quasiquoteexpand (unquote 7)) |
311 |
| -;=>7 |
312 |
| -(quasiquoteexpand a) |
313 |
| -;=>(quote a) |
314 |
| -(quasiquoteexpand (unquote a)) |
315 |
| -;=>a |
316 |
| -(quasiquoteexpand (1 a 3)) |
317 |
| -;=>(cons 1 (cons (quote a) (cons 3 ()))) |
318 |
| -(quasiquoteexpand (1 (unquote a) 3)) |
319 |
| -;=>(cons 1 (cons a (cons 3 ()))) |
320 |
| -(quasiquoteexpand (1 b 3)) |
321 |
| -;=>(cons 1 (cons (quote b) (cons 3 ()))) |
322 |
| -(quasiquoteexpand (1 (unquote b) 3)) |
323 |
| -;=>(cons 1 (cons b (cons 3 ()))) |
324 |
| -(quasiquoteexpand ((unquote 1) (unquote 2))) |
325 |
| -;=>(cons 1 (cons 2 ())) |
326 |
| -(quasiquoteexpand (a (splice-unquote (b c)) d)) |
327 |
| -;=>(cons (quote a) (concat (b c) (cons (quote d) ()))) |
328 |
| -(quasiquoteexpand (1 c 3)) |
329 |
| -;=>(cons 1 (cons (quote c) (cons 3 ()))) |
330 |
| -(quasiquoteexpand (1 (splice-unquote c) 3)) |
331 |
| -;=>(cons 1 (concat c (cons 3 ()))) |
332 |
| -(quasiquoteexpand (1 (splice-unquote c))) |
333 |
| -;=>(cons 1 (concat c ())) |
334 |
| -(quasiquoteexpand ((splice-unquote c) 2)) |
335 |
| -;=>(concat c (cons 2 ())) |
336 |
| -(quasiquoteexpand ((splice-unquote c) (splice-unquote c))) |
337 |
| -;=>(concat c (concat c ())) |
338 |
| -(quasiquoteexpand []) |
339 |
| -;=>(vec ()) |
340 |
| -(quasiquoteexpand [[]]) |
341 |
| -;=>(vec (cons (vec ()) ())) |
342 |
| -(quasiquoteexpand [()]) |
343 |
| -;=>(vec (cons () ())) |
344 |
| -(quasiquoteexpand ([])) |
345 |
| -;=>(cons (vec ()) ()) |
346 |
| -(quasiquoteexpand [1 a 3]) |
347 |
| -;=>(vec (cons 1 (cons (quote a) (cons 3 ())))) |
348 |
| -(quasiquoteexpand [a [] b [c] d [e f] g]) |
349 |
| -;=>(vec (cons (quote a) (cons (vec ()) (cons (quote b) (cons (vec (cons (quote c) ())) (cons (quote d) (cons (vec (cons (quote e) (cons (quote f) ()))) (cons (quote g) ())))))))) |
| 281 | +;; ;; Debugging quasiquote |
| 282 | +;; (quasiquoteexpand nil) |
| 283 | +;; ;=>nil |
| 284 | +;; (quasiquoteexpand 7) |
| 285 | +;; ;=>7 |
| 286 | +;; (quasiquoteexpand a) |
| 287 | +;; ;=>(quote a) |
| 288 | +;; (quasiquoteexpand {"a" b}) |
| 289 | +;; ;=>(quote {"a" b}) |
| 290 | +;; (quasiquoteexpand ()) |
| 291 | +;; ;=>() |
| 292 | +;; (quasiquoteexpand (1 2 3)) |
| 293 | +;; ;=>(cons 1 (cons 2 (cons 3 ()))) |
| 294 | +;; (quasiquoteexpand (a)) |
| 295 | +;; ;=>(cons (quote a) ()) |
| 296 | +;; (quasiquoteexpand (1 2 (3 4))) |
| 297 | +;; ;=>(cons 1 (cons 2 (cons (cons 3 (cons 4 ())) ()))) |
| 298 | +;; (quasiquoteexpand (nil)) |
| 299 | +;; ;=>(cons nil ()) |
| 300 | +;; (quasiquoteexpand (1 ())) |
| 301 | +;; ;=>(cons 1 (cons () ())) |
| 302 | +;; (quasiquoteexpand (() 1)) |
| 303 | +;; ;=>(cons () (cons 1 ())) |
| 304 | +;; (quasiquoteexpand (1 () 2)) |
| 305 | +;; ;=>(cons 1 (cons () (cons 2 ()))) |
| 306 | +;; (quasiquoteexpand (())) |
| 307 | +;; ;=>(cons () ()) |
| 308 | +;; (quasiquoteexpand (f () g (h) i (j k) l)) |
| 309 | +;; ;=>(cons (quote f) (cons () (cons (quote g) (cons (cons (quote h) ()) (cons (quote i) (cons (cons (quote j) (cons (quote k) ())) (cons (quote l) ()))))))) |
| 310 | +;; (quasiquoteexpand (unquote 7)) |
| 311 | +;; ;=>7 |
| 312 | +;; (quasiquoteexpand a) |
| 313 | +;; ;=>(quote a) |
| 314 | +;; (quasiquoteexpand (unquote a)) |
| 315 | +;; ;=>a |
| 316 | +;; (quasiquoteexpand (1 a 3)) |
| 317 | +;; ;=>(cons 1 (cons (quote a) (cons 3 ()))) |
| 318 | +;; (quasiquoteexpand (1 (unquote a) 3)) |
| 319 | +;; ;=>(cons 1 (cons a (cons 3 ()))) |
| 320 | +;; (quasiquoteexpand (1 b 3)) |
| 321 | +;; ;=>(cons 1 (cons (quote b) (cons 3 ()))) |
| 322 | +;; (quasiquoteexpand (1 (unquote b) 3)) |
| 323 | +;; ;=>(cons 1 (cons b (cons 3 ()))) |
| 324 | +;; (quasiquoteexpand ((unquote 1) (unquote 2))) |
| 325 | +;; ;=>(cons 1 (cons 2 ())) |
| 326 | +;; (quasiquoteexpand (a (splice-unquote (b c)) d)) |
| 327 | +;; ;=>(cons (quote a) (concat (b c) (cons (quote d) ()))) |
| 328 | +;; (quasiquoteexpand (1 c 3)) |
| 329 | +;; ;=>(cons 1 (cons (quote c) (cons 3 ()))) |
| 330 | +;; (quasiquoteexpand (1 (splice-unquote c) 3)) |
| 331 | +;; ;=>(cons 1 (concat c (cons 3 ()))) |
| 332 | +;; (quasiquoteexpand (1 (splice-unquote c))) |
| 333 | +;; ;=>(cons 1 (concat c ())) |
| 334 | +;; (quasiquoteexpand ((splice-unquote c) 2)) |
| 335 | +;; ;=>(concat c (cons 2 ())) |
| 336 | +;; (quasiquoteexpand ((splice-unquote c) (splice-unquote c))) |
| 337 | +;; ;=>(concat c (concat c ())) |
| 338 | +;; (quasiquoteexpand []) |
| 339 | +;; ;=>(vec ()) |
| 340 | +;; (quasiquoteexpand [[]]) |
| 341 | +;; ;=>(vec (cons (vec ()) ())) |
| 342 | +;; (quasiquoteexpand [()]) |
| 343 | +;; ;=>(vec (cons () ())) |
| 344 | +;; (quasiquoteexpand ([])) |
| 345 | +;; ;=>(cons (vec ()) ()) |
| 346 | +;; (quasiquoteexpand [1 a 3]) |
| 347 | +;; ;=>(vec (cons 1 (cons (quote a) (cons 3 ())))) |
| 348 | +;; (quasiquoteexpand [a [] b [c] d [e f] g]) |
| 349 | +;; ;=>(vec (cons (quote a) (cons (vec ()) (cons (quote b) (cons (vec (cons (quote c) ())) (cons (quote d) (cons (vec (cons (quote e) (cons (quote f) ()))) (cons (quote g) ())))))))) |
0 commit comments