|
|
Log in / Subscribe / Register

Out of order execution

Out of order execution

Posted Jun 29, 2023 9:44 UTC (Thu) by spacefrogg (subscriber, #119608)
In reply to: Out of order execution by SLi
Parent article: JupyterLab 4.0: a development environment for education and research

I use emacs, org-mode and org-babel for this. It can use the concept of dependent cells forming a graph and has a nice general concept of defining which cells to update when.

It is also language agnostic, so you can use output of one language as input to a different one. No need to premeditate which language to use in an notebook.


to post comments

Out of order execution

Posted Jun 30, 2023 0:58 UTC (Fri) by intelfx (subscriber, #130118) [Link] (4 responses)

> I use emacs, org-mode and org-babel for this. It can use the concept of dependent cells forming a graph and has a nice general concept of defining which cells to update when.
>
> It is also language agnostic, so you can use output of one language as input to a different one. No need to premeditate which language to use in an notebook.

Sounds like this mechanism ought to be limited to feeding text output from cells into other cells? I guess that's something, but it’s absolutely inadequate for most non-trivial uses of Jupyter notebooks.

Out of order execution

Posted Jun 30, 2023 5:00 UTC (Fri) by rsidd (subscriber, #2582) [Link] (1 responses)

I was wondering this too. A jupyter notebook runs a single language kernel (python, julia, whatever), and that is a feature not a bug. You can have a global state, function definitions, etc, not just piping outputs to inputs. I see that babel has "session-based evaluation" for Python and some other languages which presumably allows the same thing.

The other thing is that emacs org-mode may be very useful to some people but will never take over the world: it's just too non-standard and non-intuitive if you haven't already lived much of your life inside emacs. (I use emacs but purely as a code editor. Most people younger than me don't use emacs.) Jupyter has arguably already taken over from proprietary platforms like mathematica and matlab. That's a win. Cf Economics Nobel laureate Paul Romer's article from 2018.

Out of order execution

Posted Jun 30, 2023 5:34 UTC (Fri) by SLi (subscriber, #53131) [Link]

This made me think of PowerShell. I'm not too familiar with it, being a Linux nerd, but what I've seen and tried out—it's open source and works on Linux too—it feels like it's does something right, allowing piping richer content than just text. Maybe something like that could be combined with a spreadsheet style auto update philosophy.

Out of order execution

Posted Jun 30, 2023 13:59 UTC (Fri) by spacefrogg (subscriber, #119608) [Link] (1 responses)

Strong words for somebody who didn't even take a minute to take a look at it. None of this is true. You can, of course, share code between snippets. Let all your code run in a single session, such that later snippets can implicitly use results from previous ones. Just like Jupyter. So, when staying within a single language it runs as a single program. But you can also pass values to and from other languages. Sure, it's not a complete byte-level interface, but it is much more flexible than Jupyter will ever be.

Out of order execution

Posted Jun 30, 2023 14:12 UTC (Fri) by intelfx (subscriber, #130118) [Link]

> Let all your code run in a single session, such that later snippets can implicitly use results from previous ones. Just like Jupyter. So, when staying within a single language it runs as a single program.

I can only assume the whole "concept of dependent cells" goes out of the window once you start using implicit state? Because if so, then it's no better than Jupyter.

(At best, I guess you could define dependencies manually (and maintain them alongside the code), which is nothing but one more place to inevitably mess up. I'm not sold, not in the slightest.)


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds