This Engineering Notebook post aims to explain some inherent tensions in my 
thinking about Leo's future. More so than most, it's a "thinking out loud" 
post.


*Time travel*

f I were to time travel back to 1985, knowing what I know now, I would 
almost certainly have written the prototype of Leo in elisp, within emacs. 
This would have had *many* advantages, namely almost all of emacs's editing 
features!  I could avoided a whole lot of work, and avoided detours into 
assembly language, Borland C/C++, objective C, WxWindows, etc.

In some ways, this is a useless fantasy.  How "prescient" can I assume I 
would be? But for sure, if I had understood emacs's minibuffer and named 
commands, I would have given it a far closer look.  Leo's history would 
have been very different.

*Leo vs Emacs*

Yesterday I created #1418 
<https://github.com/leo-editor/leo-editor/issues/1418> from some notes in 
leoNotes.txt.  On rereading it, I realize that it is essentially a summary 
of emacs's features.  That's fair enough, and some of those features are on 
Leo's to-do list.  However, this issue fails to mention features that emacs 
lacks:

- Clones,
- Leo's outline-oriented objects, DOM and API.
- Leo's outline-oriented features, including @test, @button, etc.

And imo, Qt docks are more flexible, and more intuitive, than emacs buffers.

*IDE's have strong language biases*

As I was thinking about features, I saw that underlying the "feature wars" 
is typically a strong bias toward a particular language:  elisp (emacs), 
python (Leo, pyzo), java (eclipse) and JS (vs code).  Sure, emacs claims to 
allow development in many languages, but elisp is privileged.  Imo, python 
is *clearly* the best general-purpose language.

*Inherent creating tensions*

The previous sections provide some context for my present thinking.  There 
is a tantalizing prospect of embedding Leo into Emacs.  I've said several 
times previously that this is likely a bad idea. I still think that's true, 
even leveraging pymacs and Leo's bridge.

Indeed, neither emacs nor org mode provides any of the Leo's advantages 
list earlier.  Adding those features would be a huge project.  Otoh, the 
payoff *might* also be big: a way for the huge base of emacs users to use 
Leo inside their favorite editor.

But for now I'm likely to resist this temptation, at least where emacs is 
concerned.  The VS code (leointeg) project allows me to revisit these 
fantasies vicariously!


*Space-filling curves & Lucille Ball*

For about a month I have been dithering about whether to share this 
analogy.  It's time to do so, if only to get it off an internal to-do list.

A space-filling curve <https://en.wikipedia.org/wiki/Space-filling_curve> 
fills an area like the unit square in R x R. Depending on your mathematical 
background, this may or may not seem surprising ;-)  I am conflicted.  Both 
sets have the same cardinality, but a straight line has no area!

Mathematics aside, the two-dimensional trace of my footsteps seems to 
approximate the wiggly nature of a space-filling curve.  For me, this is a 
*very* important analogy.  It turns out to be much more efficient just to 
visit and revisit an area (of my house) or various aspects of a project, 
rather than trying to do everything all at once.  That's not going to 
happen anyway, so one might as well get used to it.

It reminds me of an I Love Lucy 
<https://www.youtube.com/watch?v=yR-xUWQWTEI&list=PLP14CuXhP41yf8GdraZTP72p3tKVryM_i&index=39>
 
episode.  Lucy tries to go through a revolving door carrying a handful of 
items, including skis!  Hehe. Naturally, she tries to do it all at once, 
with hilarious results.  I haven't yet found this clip.  Let me know if you 
find it.

*Summary*

I am tempted to think that leveraging emacs's excellent editing features 
would be a good idea.  Alas, that train left long ago.

Instead, I'll be thinking about comm-bridges between editors, and I'll 
continue to add emacs-like features as appropriate.

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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/leo-editor/2941b858-7e73-4eb6-a75e-e25efc5b1ee3%40googlegroups.com.

Reply via email to