This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Michael Bukin writes: > I have found solution which I can use while I have not learned enough > guile internals to make better one > > (define (test s v) > (if (not (symbol? s)) > (error "s must be symbol")) > (if (not (integer? (eval s))) > (error "s must evaluate to integer")) > (let ((x (list 'set! s v))) > (eval x))) > > (define var 0) > var => 0 > (test 'var 10) > var => 10 i misread "internals" as "infernals". :-> here is another way: (define (test s v) (and (symbol? s) (integer? v) (module-set! (current-module) s v))) thi