emacs-orgmode
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Org, Hyperbole, and eev


From: Robert Weiner
Subject: Re: Org, Hyperbole, and eev
Date: Sun, 26 Jun 2022 16:23:42 -0400

That was not the offer.  The offer was to show you how to implement a discrete eev command using another framework, possibly simplifying its implementation.  Hopefully, from seeing the code used to do this, you could dig in yourself and follow the flow to whatever level you like.  Hyperbole, for example, has been implemented across years of part-time work.  Of course, it has complexities in its implementation and if the non-abstract parts of that interest you, then use edebug or trace commands to explore the code flow but I wouldn't expect anyone to write that out for you.

#3 is closer to the offer.  If you want to see a Hyperbole function or button type equivalent, I can show you that, i.e. you load Hyperbole and then you use Hyperbole or eev syntax to jump to a point in a video that is done through a Hyperbole implementation.  But I can't explain the Hyperbole dispatching mechanisms except at a high level.  hkey-alist in Hyperbole is not hard to understand.  The prioritized list of implicit buttons types in Hyperbole is not that hard to understand.  That kind of level I can discuss.

-- rsw

-- rsw

On Sun, Jun 26, 2022 at 3:45 PM Eduardo Ochs <eduardoochs@gmail.com> wrote:
On Sun, 26 Jun 2022 at 15:23, Robert Weiner <rsw@gnu.org> wrote:
>
> Maybe if you could pick a single eev function that you think could
> be implemented with Org and Hyperbole and pointed us to the
> documentation for that, then we could show you an equivalent one
> using these packages and begin to give you a better sense of how you
> would go about leveraging what has been built. You document
> everything in detail, so this should be pretty simple.

I am not sure if I understood your proposal correctly, but let me
propose three tasks that would be pretty natural in eev-land... In all
cases below "explain" means "explain step by step, with links to the
source code and to the docs, and with sexps that inspect the data
structures".

  1) explain what happens when we type M-RET on this button:

       "subr.el"

  2) explain what happens when we type:

       C-h h d d

  3) suppose that we have a function that plays a local copy of your
     video "GNU Hyperbole - Overview and Demo". Let's use this fake
     function instead of a real one:

       ;; Test: (fake-play-oand "2:34")
       ;;
       (defun fake-play-oand (time &rest comments)
         (move-beginning-of-line 2)
         (insert (format "[Play Overview and Demo from: %s]\n" time)))

     Explain how you would implement buttons - choose your favorite
     syntax for them - that play "GNU Hyperbole - Overview and Demo"
     starting from a given timemark.

Is that a good starting point? Note the unusual meaning for
"explain"... how would you use Hyperbole to prepare these
"explanations"?

> From my perspective, I do really like your idea of replayable
> notebooks for training and interaction purposes. And you have
> certainly made that easy to use via eev. But your implementation
> could use much better organization and abstraction which would
> likely greatly reduce the code size as well. You should separate out
> computation of what you want to display from how and where you will
> display it as one technique.

I'm very interested in seeing your suggestions! Can you be more
concrete?

  [[]],
    Eduardo Ochs
    http://angg.twu.net/#eev

reply via email to

[Prev in Thread] Current Thread [Next in Thread]