Ticket #1832: mwe-ok.scm

File mwe-ok.scm, 507 bytes (added by Dominik Joe Pantůček, 3 months ago)

Working example.

Line 
1
2(define-syntax overides
3  (syntax-rules ()
4    ((_ 1 (name pname ...) (method ...))
5     (define-syntax name
6       (syntax-rules (more go)
7         ((_ more mname mmethod)
8          (overides 1 (mname name pname ...) (method ... mmethod)))
9         ((_ go)
10          (letrec* ((full-path '(name pname ...))
11                    (method (lambda () (print full-path 'method))) ...)
12            (method) ...)))))
13    ((_ name method)
14     (overides 1 (name) (method)))))
15
16(overides one test)
17(one more two test)
18(print "===")
19(one go)
20(print "===")
21(two go)