Hi all,
Edward and John is nice to see this crosspollination of ideas and
renewed inspiration. Thank you both for the responses.
I think that the core idea of live coding is talking back and forth to
computing engines/languages, using ZeroMQ, Babel, Yoton, or similars (I
don't know if Babel is based on something that is emacs exclusive). With
Grafoscopio, my computing engine is the same available to build and run
the outliner (Pharo Smalltalk), so I don't know if the first try should
be to make live coding possible, by enabling interactive python nodes
inside Leo (which is already running and build on python) and then
abstract it for more diverse computing engines/languages.
On simplifying Leo format, I'm all for it. As I said, I have problems
remembering what acronyms like gnx, uA p, g, c mean, so I can not go
into implementation details here. But org mode, YAML and STON have shown
that is possible to have complex outliners with a simple storage format
and dedicated, but simple, objects to store node metadata.
Cheers,
Offray
On 19/01/17 15:21, john lunzer wrote:
I only watched the first demo. As you alluded to, I was struck by how
similar that workflow looked to Jupyter. It is certainly awesome.
Edward, I'm glad you are gaining inspiration from it.
Offray, thank you for sharing! Outliners (mainly Leo) have become
essential to my productivity and I feel fortunate having a small
community to discuss them with. That type of Live coding inside of an
outliner looks like a productivity booster as well.
On Thursday, January 19, 2017 at 6:31:41 AM UTC-5, Edward K. Ream wrote:
On Tuesday, January 17, 2017 at 4:57:22 AM UTC-6, Edward K. Ream
wrote:
It's been a long time since I saw something that showed
features not easily duplicated in Leo. Now we all have many
to chew on.
The emacs demo is the first time I have seen org-mode headlines
"properly" used as functional meta-data as in Leo's @x
conventions. Furthermore, the hidden "properties" section
seems more flexible/nimble that Leo's directives.
I am just beginning to study all this. Here are some preliminary
notes and ideas:
*tl;dr:* Leo must support Emacs Babel concepts. Leo could use
org-mode file format in .org.leo files.
1. The really cool scripting features in the first demo arise from
Emacs Babel
<http://orgmode.org/worg/org-contrib/babel/intro.html>. These
concepts are entwined with IPython/Jupyter concepts.
A: Feeding the results of one computation to another, possibly
with a name. Similar to @button, but perhaps more flexible.
B: Passing arguments to code blocks.
It will be relatively straightforward to represent and support
these in Leo. One can imagine several possibilities:
- @language name, args OR
- @args args
2. Visible, usually hidden, properties.
Almost identical to Leo's uA's, but in plain text and more easily
accessed, via org-mode drawers
<http://orgmode.org/manual/Drawers.html>. Leo should support
something like this.
The format of drawers suggests that Leo's uA's are over-designed.
As Kent has been suggesting for a long time, uA keys should be
plain text. And uA's should be one-level dicts, not two-level.
3. Putting this together suggests that /Leo could use org-mode
format for .leo files/! Such files could have the extension
.org.leo. In particular, each node could have a :leo-gnx: drawer.
We could pre-define a ":leo-uas:" drawer, which might suffice to
keep uA's unchanged. But we might prefer to insert uA's into a
standard ":properties" drawer instead. To do this we would have
to flatten nested uA dicts into a single set of key/value pairs.
Imo, all these ideas dovetail with the design work related to
putting Jupyter cells in Leo. In fact, I suspect that the Jupyter
design itself was influenced by Babel.
Your comments, please.
Edward
--
You received this message because you are subscribed to the Google
Groups "leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To post to this group, send email to [email protected]
<mailto:[email protected]>.
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.
--
You received this message because you are subscribed to the Google Groups
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.