|
|
|
|
|
by qwertyuiop924
3596 days ago
|
|
Well... (define-syntax assign-group!
(ir-macro-transformer
(lambda (x i c)
(let ((vars (cadr x))
(vals (caddr x)))
`(let ,(map (lambda (var val) '(var val)) vars vals)
,@(map (lambda (var)
`(set! ,(i var) ,var)) vars))))))
Mind, I haven't tested this, because I don't have CHICKEN Scheme (the dialect this is written in) in front of me, and I may not have matched all the parens on the end, but it should work like this: (assign-group! (a b c) (c a b))
Giving you your nice assigment syntax you wanted.That's the nice thing about Lisps: if you don't like it, you can change it. |
|