Hi Jacob
I really like your previous post. I find it really helps me understand
what you want. You wrote
> I wanted the called, jumped to function to change state in the caller.
> From what I tried to do, passing locals() cannot accomplish this. I have
> made it happen in other languages though.
> In the R language, one can do this
> foo = function(){
> localenv = environment()
> eval(bar, environment = localenv)
> The above code captures the environment of the calling function and
> executes the called function as if the calling function's local environment
> was the global environment.
So in a nutshell, you'd like to be able to write code like this, but in Python?
> bar doesn't have to be a function, it can be any
> valid R expression captured with the expr() function, and everything in R is
> an expression thus allowing for the full usage code blocks.
This Python can already do. Any Python expression can be turned into a
function, simply by prefixing it with 'lambda:'.
> Outside of
> lisp-like languages this feat seems to usually be impossible though.
I'm an Emacs user, so I know Lisp. But R is new to me. But this URL
tells me that R is based on Lisp.
https://www.i-programmer.info/programming/other-languages/1706-a-programmers-guide-to-r.html
And, in my view, this makes your problem immediately much more
important for the Python community. Because both Python and R are
major languages in the area of Data Science.
Thank you so much for your previous post, and to all the others whose
posts have contributed to this clarification.
--
best regards
Jonathan
_______________________________________________
Python-ideas mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/