Ticket #1832: mwe-ko-common.scm
| File mwe-ko-common.scm, 491 bytes (added by , 22 months ago) |
|---|
| Line | |
|---|---|
| 1 | (module |
| 2 | mwe-ko-common |
| 3 | ( |
| 4 | overides |
| 5 | ) |
| 6 | |
| 7 | (import scheme) |
| 8 | |
| 9 | |
| 10 | (define-syntax overides |
| 11 | (syntax-rules () |
| 12 | ((_ 1 (name pname ...) (method ...)) |
| 13 | (define-syntax name |
| 14 | (syntax-rules (more go) |
| 15 | ((_ more mname mmethod) |
| 16 | (overides 1 (mname name pname ...) (method ... mmethod))) |
| 17 | ((_ go) |
| 18 | (letrec* ((full-path '(name pname ...)) |
| 19 | (method (lambda () (print full-path 'method))) ...) |
| 20 | (method) ...))))) |
| 21 | ((_ name method) |
| 22 | (overides 1 (name) (method))))) |
| 23 | ) |
| 24 |
