Ivar Fredholm <[email protected]> writes:
> I have been browsing the orgmode code and it feels like we have to do a lot > to implement sessions. At least for Python > or Julia, I am wondering if we could instantiate an interpreter, and send the > code as a single 'exec' or 'include' > command. Other languages like R and groovy also have facilities to run code > from a file. I believe this would reduce the > amount of code needing maintenance, as we would only need to manipulate the > string to pass to the interpreter based > on the language. If this has been considered before, could someone explain > why this approach was not used? > Best, Guacho > I agree that supporting session can be complex, especially with some languages. The big limitation I can see with your suggestion (assuming I understand what your proposing) is that you may not necessarily want to execute all the blocks at once or only execute a block once. For example, I might have an org file with 4 code blocks which I want to all run in the same session. However, I might want to execute each block interactively, not run all four blocks sequentially all in one batch. I might execute block 1, then based on the result/output form that block, execute block 2 or 3, but maybe not both or perhaps I will execute block 2 twice before executing block 3 etc. If you adopt your approach, we would loose that flexibility. The session argument would essentially boil down to execute all code blocks in this file within the same batch rather than execute each one in a separate environment/instance. While this could be a valid interpretation of session, we would need to be sure it was one which all users found agreeable. It is possible, for stability and maintainability, a new definition of session would be acceptable, but it is a change with implications that would need to be managed carefully.
