Ticket #1832: mwe-ko-common.scm
File mwe-ko-common.scm, 491 bytes (added by , 3 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 |