ENB: Time travel, space filling curves, I Love Lucy etc.

57 views
Skip to first unread message

Edward K. Ream

unread,
Oct 22, 2019, 10:53:30 AM10/22/19
to leo-e...@googlegroups.com
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 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 creative 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 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 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

john lunzer

unread,
Oct 22, 2019, 1:20:07 PM10/22/19
to leo-editor
I have not used to most recent release of emacs from 1985, this was the year GNU Emacs was released. I can't say for sure if it was feature complete enough to support Leo. Also, keep in mind that org-mode was only created in 2003. As far as time-travel experiments go I think there would have been a reasonable chance you would not have been content with Richard Stallman's pace or direction of the project. It's very possible that had you had today's knowledge you would have forked away from GNU Emacs. XEmacs seems like anecdotal proof that such an eventuality could have occurred.

Matt Wilkie

unread,
Oct 22, 2019, 3:44:51 PM10/22/19
to leo-editor
Riffing on topic of Lucille Ball: in addition to the iconic I Love Lucy she was responsible for Star Trek and Mission: Impossible, among others. I couldn't find the the revolving door episode, but I can sure picture it. ;-)

Edward K. Ream

unread,
Oct 23, 2019, 1:26:51 AM10/23/19
to leo-editor
On Tue, Oct 22, 2019 at 12:20 PM john lunzer <lun...@gmail.com> wrote:
I have not used to most recent release of emacs from 1985, this was the year GNU Emacs was released. I can't say for sure if it was feature complete enough to support Leo. Also, keep in mind that org-mode was only created in 2003. As far as time-travel experiments go I think there would have been a reasonable chance you would not have been content with Richard Stallman's pace or direction of the project. It's very possible that had you had today's knowledge you would have forked away from GNU Emacs. XEmacs seems like anecdotal proof that such an eventuality could have occurred.

Yes.  That's why I said 'How "prescient" can I assume I would be?'

Edward
Reply all
Reply to author
Forward
0 new messages