5 ms·
I think every new notebook project should take ideas from Julia's Pluto: https://www.youtube.com/watch?v=IAF8DjrQSSk https://www.youtube.com/watch?v=IAF8DjrQSSk
by mathnmusic 6y ago
I think every new notebook project should take ideas from Julia's Pluto: https://www.youtube.com/watch?v=IAF8DjrQSSk https://www.youtube.com/watch?v=IAF8DjrQSSk
Working directly with the source files is just one of the niceties it has.
- KMag 6y agoVery interesting. Thanks for the pointer. LWN has a nice textual introduction: https://lwn.net/Articles/835930/ https://lwn.net/Articles/835930/
- KMag 6y agoThanks again for the pointer. Pluto really seems to nail the major pain points from notebooks: for a quick summary of Julia's Pluto from https://lwn.net/Articles/835930/ https://lwn.net/Articles/835930/ : 1. Pluto's on-disk format is genuine executable Julia, with metadata in comments. Code review happens on the actually executed code, so highly regulated/otherwise conservative environments don't have to worry about the single source of truth deviating from what code reviewers see. 2. Pluto disallows multiple declarations of global variables. This prevents problems with getting different results, depending in which snippets within the notebook get executed in which order. 3. Pluto makes sure the notebook's displayed output is always in-sync with its source code; it eliminates the problem of someone getting some result, changing some code, and sharing a notebook with results that don't match the code. It does this by performing dependency analysis across the code fragments and topologically sorting them. It then re-evaluates all dependent code snippets when a given snippet is modified. Wow. This is the way.
- dnautics 6y agoMy only complaint about the pluto system is it's use of strange extended ascii characters.
- st1x7 6y agoThat's a Julia thing, not a Pluto thing. Not a fan personally but I think that's a minority opinion in the Julia community.
- dnautics 6y agoI'm fine with Julia's use of unicode for math symbols in general. The strange ascii characters I'm speaking of here are used to annotate block boundaries in pluto's generated code, they are literally in # comments so they could have used anything. I think they are the old school ascii box drawing characters. They might live in a separate unicode era these days.