diff options
author | Tom Willemsen | 2012-08-14 22:40:40 +0200 |
---|---|---|
committer | Tom Willemsen | 2012-08-14 22:40:40 +0200 |
commit | 8681daf54aeacf85ae83512105f6b151f49ea523 (patch) | |
tree | 42c413817b598b7897800e0529481a5cc4a4a7ab | |
parent | 17d9c17d9f622e6bf0853f1af69fff6147533c24 (diff) | |
download | undone-8681daf54aeacf85ae83512105f6b151f49ea523.tar.gz undone-8681daf54aeacf85ae83512105f6b151f49ea523.zip |
Improve macro
-rw-r--r-- | undone/main.scm | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/undone/main.scm b/undone/main.scm index e916ad2..8804bde 100644 --- a/undone/main.scm +++ b/undone/main.scm @@ -5,7 +5,7 @@ (define-syntax define-view (lambda (x) - (syntax-case x (with) + (syntax-case x () ((_ name doc fmt fields fields* ...) (with-syntax ((viewname (datum->syntax @@ -14,11 +14,13 @@ (define (viewname) doc (map (lambda (item) + (let (#,@(map (lambda (field) + #`(#,field (cdr (assq (quote #,field) item)))) + #'(fields fields* ...))) (format #t fmt - #,@(map - (lambda (field) - #`(cdr (assq (quote #,field) item))) - #'(fields fields* ...)))) + #,@(map (lambda (field) + field) + #'(fields fields* ...))))) todo-list)) (set! view-list (append view-list |