eval in procedure environment
Hello!
I'm trying to execute a function (eg. defined in the global environment)
in the environment of a second function, so that it has access to
the data of the second function. Example:
>(define function2
(let ((data 1))
(lambda () data)))
#[undefined]
>(eval 'data (procedure-environment function2))
1
Alright, that works. But if I try this with a procedure, it doesn't:
>(define function1 (lambda () data)
#[undefined]
>(eval '(function1) (procedure-environment function2))
*** Error:
unbound variable: data
Current eval stack:
__________________
0 data
1 (eval (quote (function1)) (procedure-environment function2))
Where is my mistake? What happens, if eval calls function1?
Thanx for any help!
Olaf Gellert
gellert_at_informatik.uni-hamburg.de _ - __o
Universitaet Hamburg, FB Informatik _- _`\<,_
www.geocities.com/TheTropics/1263 - (_)/ (_)
-------------------------------------------------------------------------------
Lieber Gott, ich frage Dich: | Kannst Du mir die Gruende nennen?
Warum bitte lerne ich | Kann denn nicht der ganze Haufen
immer doofe Frauen kennen? | in 'ne andere Richtung laufen?
-------------------------------------------------------------------------------
Received on Mon Mar 10 1997 - 18:48:54 CET
This archive was generated by hypermail 2.3.0
: Mon Jul 21 2014 - 19:38:59 CEST