Live data from Hacker News

Ask HN: More “experimental” UIs for editing/writing code?

news.ycombinator.com

131–137 of 137 posts

Re: Ask HN: More “experimental” UIs for editing/writing code?

#131
post #104

Ever since I started learning Borland Delphi as an early teenager I’ve had this idea of an IDE where every function lives as its own entity (maybe like a card) and in the editor is connected to all functions that it call and all functions that call it and I suppose the whole editor must be a giant graph/mind map. It’s not a very well developed idea, dispute it having floated somewhere in my head for over two decades.

Isn't that basically a Smalltalk IDE?

I don't know. It sounds amazing though, if it is.

Are there any videos that shows the power of a Smalltalk IDE?

Re: Ask HN: More “experimental” UIs for editing/writing code?

#132
post #104

Earlier quoted context omitted.

Isn't that basically a Smalltalk IDE?

I don't know. It sounds amazing though, if it is. Are there any videos that shows the power of a Smalltalk IDE?

Not sure if I know of any good ones, maybe this one? https://www.youtube.com/watch?v=HOuZyOKa91o

Re: Ask HN: More “experimental” UIs for editing/writing code?

#134

Cursorless is an editor created for editing with voice control. It is built on top of Talon Voice and VSCode. Every token in the file is marked with a "hat," and you can refer to different pieces of your code without having to place your cursor there by stating the color/shape of the hat and the letter that the hat is above. I started using it to help with some RSI, and honestly when I go back to a keyboard to use em…

I think that what makes Cursorless "really different for editing/writing code" (per OP) is that it is a voice-controlled structure editor focused on maximizing efficiency. Cursorless leverages tree-sitter to maintain an up-to-date syntax tree of your code, and then allows you to manipulate your code using voice commands that target structures like functions, classes, arguments, etc. Cursorless also has an emphasis on composable / chainable commands. For example https://www.youtube.com/watch?v=EwdpPN-21-g . As you become fluent, you'll find that the emphasis on higher level syntactic constructs and chained commands enables you to program faster than you could using a keyboard, without needing to worry about low-level details like cleaning up commas, selecting functions with a mouse, etc.

But as the creator of Cursorless, I'll allow for the possibility that I'm slightly biased

Re: Ask HN: More “experimental” UIs for editing/writing code?

#135

Earlier quoted context omitted.

Not being a VSCode user myself outside of this context I may not have the best experience to answer the first question, but I don't think it tends to conflict with much except perhaps vim keybindings. As far as using it in tandem with a keyboard, the main issues you might run into are timing. If you happen to be moving the cursor or typing while a voice command is running it could cause issues. You would probably end…

This is great. Thanks. It looks like this really shines for moving the cursor around: every important location in the code has a unique name. I wonder if I could port that functionality to emacs. It would take the place of avy (ace jump).

Check out the #cursorless-everywhere channel in the Talon voice slack workspace; people are already working on an emacs port

I'll also add that the cursor movement functionality, while quite useful as you get started, becomes less and less relevant as you get comfortable with the more advanced Cursorless commands for syntax tree manipulation

Re: Ask HN: More “experimental” UIs for editing/writing code?

#136

Have you heard of dion? https://media.handmade-seattle.com/dion-systems/ It's still in the category of "inserting text with the keyboard", but the underlying representation of the "program" isn't raw text. The text is just a user interface for a more complicated representation.

I've been thinking about this before that you can do more when you work with the abstract syntax tree instead of the plain text and I was wondering whether someone actually did something with this. It's really cool to see their work. I don't know whether they went that far, because I didn't watch the video on the site completely yet, but when you work with the abstract syntax tree, every change becomes a manipulation…

That's the idea, but I'm not sure about the AST - that is usually too low level for this kind of reasoning. What you really want for this is similar to reflection types in Java.

Re: Ask HN: More “experimental” UIs for editing/writing code?

#137
post #55

JetBrains MPS [0] is worth a look for inspiration. Like some of the other projects mentioned here, it's an editor on top of an Abstract Syntax Tree. You can use it to make DSLs that have different UI/UX projections. I'm not sure anyone's actually using it, but there are some good ideas in there. [0] https://www.jetbrains.com/mps/

> I'm not sure anyone's actually using it, but there are some good ideas in there. I guess it's kind of cheating, but they wrote YouTrack in MPS; they used to cite that in the footer, but I guess it was removed cause it was an implementation detail I reached out to them to ask "what does that mean, written in MPS?" and they said they had a DSL for issue tracking that essentially generated executable YouTrack builds I…

I was just wondering if the youtrack UI is so bad because it was generated from code rather than designed. I guess this is an explanation.
Post reply on HN