fork download
  1. ;; macro to generate boilerplate functions to get/set environment vars
  2. ;; attempt to remove 'globals' from source code
  3.  
  4. (define-syntax env-accessor
  5. (syntax-rules ()
  6. ((_ name val)
  7. (let ((env-var (symbol->string (symbol-append '+ name '+)))
  8. (setter (symbol-append 'set-env- name))
  9. (getter (symbol-append 'get-env- name)))
  10. `(begin (define (,setter v) (setenv ,env-var v))
  11. (,setter ,env-var ,val)
  12. (define (,getter) (getenv ,env-var)))))))
  13.  
  14. (env-accessor 'scheme-prog "guile")
Success #stdin #stdout 0.04s 8744KB
stdin
Standard input is empty
stdout
Standard output is empty