Live data from Hacker News

Emacs Is Not Enough

project-mage.org

111–120 of 163 posts

Re: Emacs Is Not Enough

#111
post #107
post #11

I can't but reflect back on another post I made today, which is that everything fails at scale. Literally everything. They just fail in different ways and made different tradeoffs along the way. For example, this is why I find myself using "print" debugging on a process of 10^4 values. It is fun to think that, "maybe I can step debug this" on that many values, but... that is well beyond my capability to keep it in my…

I just, can't imagine what benefit you get from opening an X gigabyte file. Maybe I don't fully understand the context, but... why shouldn't you open a big file? I haven't read the whole article, but I did read that the author complains that a 172 kb text file makes the editor slow. It seems that the syntax highlighting is the culprit. I have a similar problem with my current editor of choice. I used to have a "raw"…

> It seems that the syntax highlighting is the culprit.

In that case, it was the fact that adding a bullet point to a list would rescan the whole list (so it could simply update a bullet count in the header). You would need to implement incremental parsing for that, and that's not very easy. And certainly not natural.

> If I understood the author correctly, he's saying that structured editors are superior to a syntax highlighting system that's based on regexps, when you use them for programming.

Absolutely, that's one of the points.

I must add something, though. It's not just about speed. And, in fact, it's not even just about editing.

Most exciting possibilities of the structural approach stem from the fact that you can start thinking in terms of objects: then you write textual interfaces for those objects, for the purposes of textual (or even graphical) interaction.

The bare-bones example is that if you had a table, or a tree in a note-taking application, then you could query that tree, but you would still retain the textual interface. Even better: you could embed any editor within any other editor, which would directly correspond to a compound structure at hand.

To give you an idea of a note in a KR (knowledge-representation, prototype OO) system:

    (create-schema power-of-structure
      (:is-a kr-note)
      (:title "The Power of Structure")
      (:tags '("seamlessly-structural editing" "power"))
      (:introduction '("Welcome to Project Mage!"
                       "The purpose of this article is [...]"))
      (:table-of-contents nil)
      (:sections (create-schema))
      (:related-links nil)
      (:footnotes nil))
This note [1] could have any other structure, any other slots, of course. But it's just an object in memory.

Now, all you would have to do is lens that object, aka, construct a tree of embedded editors for it (which Rune will also do via KR, just like the object above).

Another example: code. A large comment block? View and edit it via a note-take application, or a markdown application, or what have you.

Another example (leaving some details aside): attach comments to any piece of code (up to a character). That comment doesn't even have to be a part of the editing workflow. I think that's pretty powerful (and there are more use cases, see Alchemy in [1]).

[1] This example is directly from https://project-mage.org/the-power-of-structure

Re: Emacs Is Not Enough

#112
post #83

Earlier quoted context omitted.

But why are you complaining about that. Who told you that it would be a good idea to use Emacs instead of a database? Why did you ever come to that conclusion?

Because it's often claimed than Emacs can do everything. Or, if not claimed, than assumed. And if not assumed, people go and try to do this stuff anyway. I gave an example of an object-oriented spreadsheet in my article. You can't stop people from trying, but that's just the wrong paradigm to try those things. My point: we can still have an environment that can do all of these things. Embed a spreadsheet and interfac…

You must have misread those claims.

Re: Emacs Is Not Enough

#113
post #12

Earlier quoted context omitted.

> What Emacs users want is a version of Smalltalk with a superior keyboard driven experience, featuring which-key et al. No, more like Interlisp, which is kinda like Smalltalk in terms of being an active environment, only without having to deal with... you know... Smalltalk in order to use it. Plus, there's something to be said for a plan that's probably now mostly forgotten, to re-write Emacs to use Guile as its lan…

Interestingly TJ Devries just did something like that for neovim. He made a transpiler from vim9script to Lua to allow compatibility. I found that around neovim there is a similar crafting vibe you find around Emacs.

And they've got Fennel and some Fennel based frameworks to enable them to configure the Vim settings in a Lisp.

Re: Emacs Is Not Enough

#115

I'm not an emacs power user. I use emacs solely. Compared to me the author feels like a power user of emacs (or was one) and is making broad arguments against the existence of people like me: not power users. I've never run into these issues they talk about and I don't really know elisp. Mostly, over vim, I just like chord editors more than modal editors. If a more modern terminal-based chord editor came out I'd try…

I think his point is that you cannot use Emacs solely. You probably need a browser and a spreadsheet and lots of other software.

But Emacs has browsers and spreadsheet programs and a lot of other software. Out of the box it even comes with a great editor.

Re: Emacs Is Not Enough

#116
post #112

Earlier quoted context omitted.

Because it's often claimed than Emacs can do everything. Or, if not claimed, than assumed. And if not assumed, people go and try to do this stuff anyway. I gave an example of an object-oriented spreadsheet in my article. You can't stop people from trying, but that's just the wrong paradigm to try those things. My point: we can still have an environment that can do all of these things. Embed a spreadsheet and interfac…

You must have misread those claims.

Yeah, right : D

In any case: there are quite obvious limitations, and, to me, they weren't very apparent when I started out in Emacs.

Re: Emacs Is Not Enough

#117
post #71

Earlier quoted context omitted.

I find most of your complaints incomprehensible. > Well, alright, I don't see no CSV-mode to arrange everything into a pretty table and then let me filter/sort/edit the damn thing. `csv-mode` is right there on ELPA, the default package source for Emacs. You went to MELPA, which only has packages from people who don’t want to license their code the same way as Emacs. Install `csv-mode`, then type `C-c C-a` to format i…

> `csv-mode` is right there on ELPA Didn't know about that one. Jesus, Elpa, really? Not that it changes anything. >> A table editor within emacs will be janky > This is completely wrong. There are half a dozen Emacs packages that give you variations on the theme of a table, and none of them are slow or janky in my experience. Haha, have you used org-made lately? Have you tried formatting a large table? Is it fast, y…

VisiData : tables : Python :: Emacs : text : Lisp

Re: Emacs Is Not Enough

#118
post #21

Earlier quoted context omitted.

Well yes, but I must quibble... > Print debugging.... It works on any system No it does not. It requires a console, and not all systems have a console.

Any system that is capable of emitting any data, can emit bytes from print debugging. Could be log file, socket, or even pulses along a GPIO pin. If the system can't emit any data, well, you're kind of stuck anyway.

Having worked in embedded, debugging through an Oscilloscope is a cherished memory that I sometimes talk to junior colleagues about. Knowing these things are possible can sometimes help people find more novel ways to think about debugging their applications.

Re: Emacs Is Not Enough

#119

I'm not an emacs power user. I use emacs solely. Compared to me the author feels like a power user of emacs (or was one) and is making broad arguments against the existence of people like me: not power users. I've never run into these issues they talk about and I don't really know elisp. Mostly, over vim, I just like chord editors more than modal editors. If a more modern terminal-based chord editor came out I'd try…

I think his point is that you cannot use Emacs solely. You probably need a browser and a spreadsheet and lots of other software.

Can nano or pico do it? Can vim do it out of the box? For that matter, how does VSCode stand up to "very large" CSV files? I really don't know but I suspect this is less of an Emacs "problem" than it is a matter of fact for most editors that aren't specialized to the specific task of "very large" CSV files.

Re: Emacs Is Not Enough

#120

Hi! I am the author. I will be glad to answer any questions. First of all, I don't want another Emacs rewrite, much less in Guile. Mixing languages is not good for power-use, which requires ease-of-use, or at least conceptual simplicity. I talk more about it in the article in the Project's Philosophy/Homogeneity section in [1] The Power of Structure. I am proposing we need to really start considering a different para…

Do you think managing CL packages in a way similar to 1968's Grail (https://www.youtube.com/watch?v=2Cq8S3jzJiQ) could work? I'm thinking of a visual overview of packages were a user can connect packages together (maybe by drawing lines or by holding a key down and clicking on packages to link them), and can afterwards click on the vertices connecting the nodes to configure which symbols get imported.

It might be a bit UML-ish, but that's probably because I spent a bit too much time playing around with Umbrello.

Post reply on HN