Hi Damien
The issue you are running into is related to macro hygiene. If you implement eval-var using the non-hygienic define-macro, it works how you want. (define-module (Scheme+) #:use-module (ice-9 local-eval) #:re-export (local-eval the-environment) #:export (eval-var eval-var)) (define-macro (eval-var var) `(local-eval ',var (the-environment))) Robby