hi guys, I want to get a variable bidden from outside environment, such as the code below:
-----------------------correct code------------------------
(define fp (open-output-file "/tmp/aaa"))
(eval-string "(write 123 fp)" (current-module))
-------------------------end----------------------------------
This code can run successfully.
But I want to use this trick in a procedure:
-----------------------wrong code------------------------------
(define (func)
(let ((fp (open-output-file "/tmp/aaa")))
(eval-string "(write 123 fp)" (current-module))
))
-----------------------end code------------------------------------
Guile will throw :
========================================
scheme@(guile-user)> (func)
ERROR: In procedure memoize-variable-access!:
ERROR: Unbound variable: fp0
========================================
Is this a bug? Or I missed something?