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.

Reply via email to