I'm mourning on two graves every time I'm tuning my Org-mode workflow. First, that Emacs had to have its own language so I can't take my code and run it in an up-to-date and stable vm embedded in an Android app. Second, that additions and modifications to Org-mode tend to use Emacs' text juggling here and there instead of a higher-level Org API and string functions—so even if I had an embedded Elisp, I'd need to implement half of Emacs.<p>Emacs' flirt with Guile promised to mend one of those ailments—especially considering how on my oldish machine Emacs' GC hiccups every few seconds when just scrolling through an outline, and Emacs internals don't seem to get lots of low-level development these days (understandably, but still). Alas, that hope now has a grave of its own.
I'm surprised nobody mentioning the similarity of TeXmacs to Tioga editor within the legendary CEDAR desktop environment from Xerox [1]:<p>I've read somewhere some years ago that if you can create a usable hybrid combination of MS Office Word document (WYSIWYG) and TeX then you have a killer application for document editor. Additionally, similar to Tioga with the fact that you can also use other programs inside TeXmacs (e.g. spreadsheet, Octave, etc) is a huge boon for productivity [2].<p>I think the naming of the TeXmacs does create confusion though since it creates the impression that this is combination of TeX and Emacs but it's neither of them. Just like the Holy Roman Empire after the collapsed of Roman Empire, it's neither Holy nor Roman nor an Empire.<p>Now hoping for the modern incarnation version of CEDAR desktop environment.<p>[1] <a href="https://www.youtube.com/watch?v=z_dt7NG38V4" rel="nofollow">https://www.youtube.com/watch?v=z_dt7NG38V4</a><p>[2] <a href="http://cajun.cs.nott.ac.uk/wiley/journals/epobetan/pdf/volume3/issue2/ep030dt.pdf" rel="nofollow">http://cajun.cs.nott.ac.uk/wiley/journals/epobetan/pdf/volum...</a>
I followed some of the discussions of the porting to guile3. I have been amazed at what kind of code guile1.8 allowed, with _no_ separation of macro expansion and runtime.:<p><pre><code> (defmacro (foo bar)
(define (baz n) (bar 4 n))
baz)
((foo +) 4)
</code></pre>
would work just fine. No separation between runtime and compile time. this hasn't been the case since 2.0, but 1.8 is still used places. Hopefully their port to guile 3 works so that they can reap the benefits of the work out in there over the last 10 years.