root/release/3/riaxpander/riaxpander-dsssl-lambda.scm
| Revision 10322, 0.7 kB (checked in by ashinn, 9 months ago) |
|---|
| Line | |
|---|---|
| 1 | |
| 2 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
| 3 | ;; support DSSSL-style keywords |
| 4 | |
| 5 | ;; Compiled macros don't support the hidden let-syntax in a macro |
| 6 | ;; definition trick, so we still need to load this (had issues passing |
| 7 | ;; it to EVAL at load-time in the compiled code, and was feeling lazy, |
| 8 | ;; and this works). |
| 9 | |
| 10 | (define-syntax lambda |
| 11 | (let-syntax ((*lambda lambda)) |
| 12 | (er-macro-transformer |
| 13 | (lambda (form rename compare) |
| 14 | (receive (standard-bvl body) |
| 15 | (##sys#ria-expand-extended-lambda-list |
| 16 | (cadr form) |
| 17 | (cddr form) |
| 18 | ##sys#syntax-error-hook) |
| 19 | `(,(rename '*lambda) ,standard-bvl ,@body)))))) |
Note: See TracBrowser for help on using the browser.
