HNHacker News
TopNewBestAskShowJobs

countvajhula

16 karma · joined September 19, 2010

submissionscomments
countvajhula··on Animated guide to Symex: Emacs structural editing with Lisp
It was definitely a surprise to me when I learned some time ago that "modelessness" was considered an innovation when it was developed, since editors before that (I assume) were all modal!

But I don't think modal/modeless is either/or. It can be (and I personally use) both.

countvajhula··on Animated guide to Symex: Emacs structural editing with Lisp
I love that analysis. It's true, parinfer really did this well, and your analysis really brings out what's special about it!
countvajhula··on Animated guide to Symex: Emacs structural editing with Lisp
That is great to hear. Re: using it in other modes, well, not sayin it's in the works, but watch this space ;)
countvajhula··on Animated guide to Symex: Emacs structural editing with Lisp
This looks great! You should be able to use this in insert or normal mode alongside symex, which is a distinct evil state.
countvajhula··on Animated guide to Symex: Emacs structural editing with Lisp
I'd love to understand your point of view a bit more. What do you mean by "context sensitivity"? Symex isn't context-sensitive in general and operates much like Vim/Evil in terms of consistency (e.g. you can define repeatable macros). Are you thinking of Lispy, which makes heavy use of context (and is certainly clever)? Re: the commands being second nature, that is very much a goal, and if there's something that could be better here for holdouts like yourself, I'd love to understand what that might be.
countvajhula··on Animated guide to Symex: Emacs structural editing with Lisp
The introductory paragraph in the "Editing" section of the post explains the relationship to evil. Reproduced here for convenience:

"Symex’s editing style is essentially Vim-like. While Vim’s Normal mode can be considered a Domain Specific Language for text editing in general, it has the following drawbacks when it comes to editing symexes: (1) it doesn’t have an appropriate noun to refer to symexes (e.g. it only has “words,” “lines,” “paragraphs,” etc.), and (2) the nouns it has are for the most part irrelevant when editing symexes. Thus, it isn’t exactly the right language to use. Symex.el attempts to be “the right language” here by supporting just a single noun — symexes — which, by virtue of its singularity, need not ever be stated and is implicit in every action[2]. But aside from this, Symex mimics Normal mode idioms and conventions. Therefore, a lot of these usage patterns should be very familiar from Vim/Evil even though they aren’t the same — they are the same ideas applied to symexes (along with other symex-specific ideas)."

countvajhula··on Animated guide to Symex: Emacs structural editing with Lisp
Symex is modal, unlike smartparens. It's basically a kind of evil "Normal state" but dedicated and specialized to editing Lisp code.