In article <[EMAIL PROTECTED]>, Lauri Alanko <[EMAIL PROTECTED]> 
wrote:

> Nevertheless, this abomination is supported even by some scheme
> implementations:
> 
> guile> (define local-environment (procedure->syntax (lambda (exp env) env)))
> guile> (define (eval-where-x-bound exp)
> ... (let ((x 'foo)) (local-eval exp (local-environment))))      
> guile> (eval-where-x-bound '(list 'x x))
> (x foo)

Guile seems to be a bit "sloppy" in general. I think it just keeps a 
dictionary of symbol bindings and passes it around at runtime.

guile> (eval '(define b 5))
guile> b
5

-- 
Ashley Yakeley, Seattle WA

_______________________________________________
Haskell-Cafe mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to