Prune: A Tree-Based, Home-Row-Oriented Code Editor
1–10 of 47 posts
Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#2I'd be very interested in some more detailed information about this. For example, I'd like to see a list of the hundred transformations required to edit JavaScript. They also mention that it is a home-row-oriented editor - what does that mean? Are the common commands available on the home row, such as navigation etc?
As the developer of a LISP IDE with structural editing functionality, this looks very interesting - please share more information!
Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#3Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#4Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#5Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#6Since moving from the home row has such a massively destructive, measured, and reproducedly measured effect on productivity and geek credibility, I've always thought that editors should accept no other keypresses than those on the home row. Every keyboard key that isn't caps lock, asdfghjkl;' or enter should be a key chord. (And not a key sequence, because that would not be productive: a real key chord.)
The next step is to release a physical keyboard that has exactly 10 keys, since moving the forefingers to press G and H, and moving the pinkies to press caps lock, apostrophe, and return is such a tremendous affront to good taste.
And editors should refuse to accept mouse input, as well. Ideally, touching the mouse would cause an electric shock, but that would require hardware modification.
Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#7I'm not sure reducing keystrokes is a useful measure. I can't think of a better one, though, so at least it's something quantifiable.
Pure tree editing, with no text editor to fall back to, is important. I didn't even use textual output, while it sounds like these guys did. They also used javascript, which is interesting since it has so much syntax. Lisp seems like a natural choice to me since the tree structure is readily apparent.
Dogfooding is critical, and it's very natural for a project like this. When I got to that point, I learned so much about what was really important in an editor. Like macros -- those helped so much.
Keyboard-based editing of trees is possible, but it takes significant effort to make it feel decently natural.
Collaboration is definitely the most important thing people in this area need to learn. There are dozens of projects similar to this one, and they're generally created by solo programmers (like I did) or by pairs (like Prune). Tree-based editing will never take off until a group of like-minded programmers gets together and makes it happen. I've been pulled away into an unrelated project, but if I were to come back to this, my first move would be to get some collaborators.
Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#8Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#9Is this the same kent beck who wrote "smalltalk best practice patterns"? Either way this is a very interesting project and a nice write up!
Re: Prune: A Tree-Based, Home-Row-Oriented Code Editor
#10I have heard that ParEdit is a not a toy. I have heard that, if you work in a lisp-type language, it's worth your time.
Screen cast: http://emacsrocks.com/e14.html
More info: http://www.emacswiki.org/emacs/ParEdit