Hi Nicolas,

Here is a blog post that explains the changes I did. I still have one
improvement to do (but don't how it could be done or even if it can be
done) which is explained at the end of the post:

http://fgiasson.com/blog/index.php/2016/04/05/using-clojure-in-org-mode-and-implementing-asynchronous-processing/

Thanks for your help, it is now working the way I need it to.
This looks interesting. Thank you for sharing your result.

Org Babel would benefit from a generic asynchronous execution mechanism.
See for example <http://permalink.gmane.org/gmane.emacs.orgmode/101757>.

Indeed, it would be interesting to generalize such a generic mechanism directly in Babel, and not in each OB plugins.

However, I am not sure neither how generic such a solution could be, and what would still be required to implement in each OB plugin. My (very little) experience so far is the Python prototype that John wrote, and then my analysis of the Clojure OB plugin. As I was explaining in this blog post, things are quite different between the two. In Python, it appears that one has to run a sub-process, in Clojure this is not necessary since we benefit the nREPL that handle that.

So far, the best idea about how to present async process I think is what John was proposing with the new window. Otherwise I still wonder about having a real background process for this thing to run such that one can continue to write things in the Org buffer while a code block is running in background. But as I explained, I will have to seriously look into Elisp in order to assess the full scope of such a task.

So, if anyone feels like discussing the details of an implementation of
such a thing, please chime in.

So far this is the only thing I have to say about that. In mean time I will fix my other patch, and then I will submit another one for this async feature (which will probably require much more review from your part).


Thanks,

Fred

Reply via email to