Hi, I've been trying to write a function or macro that would work like this:
(let ((a 0)(b 0)) (set-pair! '(a . b) '(1 . 2)) (cons a b)) ; => (1 . 2) I eventually wrote: (define (set-pair! pair values) (let ( (e (the-environment)) (a (car pair)) (d (cdr pair)) ) (local-eval `(begin (set! ,a ,(car values)) (set! ,d ,(cdr values))) e))) but it seems to work only for symbols defined in global scope. Does anyone know how to implement this form properly? Thanks in advance Maciek PS I love you all :)