Earlier quoted context omitted.
Was this an exceptional measure or a planned new kind of organization ? It's interesting.
This format started in 2018 or 2019, I can’t recall which.
EmacsConf 2022
31–40 of 45 posts
Re: EmacsConf 2022
#32Earlier quoted context omitted.
> These tools' relative importance has declined over the last 15 years. I would say to the contrary. There has been a flurry of new development on Emacs in the recent years initiated by a new generation of developers. New (and simpler) search and autocompletion frameworks (Ivy, vertico), native compilation of Elisp, the rise of Org and the advent of LSP clients (thx VScode). In the coming years Treesitter might rende…
> In the coming years Treesitter might render LSP obsolete some day. While LSP can support semantic highlighting, it's often used for navigation, ala goto-definition. I think there is little overlap between Tree-sitter and LSP.
Yes, that’s LSP‘s primary use case, either to jump to a definition or show inline documentation from around the definition as well as for autocompletion based on symbols in the execution environment accessible to a static analyser at least. I think that could all be done by a tree-sitter based parser, too, no need for a separate language server process. The LSP server can’t do much beyond static analysis anyway. That’s what makes me think it could be well replaced by a more sophisticated language mode. Check out the tree sitter talk, he demonstrates how easy TS makes querying the source code (using the tree sitter query builder) — similarly how you query the DOM using a selector engine.
Re: EmacsConf 2022
#33As with the high vote totals for Firefox-related links, the presence of a link on an ancient* text editor at #1 on HN (as I write) reveals that HN voters are a bit ... old school. These tools' relative importance has declined over the last 15 years. * (I am a graybeard who used Emacs daily for a long time)
I experienced Emacs in that first encounter as hip and exciting! Setup was extremely easy, and the workflow was such a joy and such a shock that it changed what I want out of computer interfaces forever. The discoverability and in-band documentation blew my mind, and made the incredibly complex bundle of functionality and keybindings in front of me feel shockingly approachable and learnable. The Vim emulation was so good that Emacs is where I learned Vim, and even as a relatively unsophisticated Vimmer, few Vim emulation plugins have ever lived up to what I experienced with Evil.
I don't think Emacs is about to take over the world, but it seems to be doing quite well. It seems a clear and ongoing source of inspiration for the trendiest applications that people use to edit code today, like VSCode. Important Emacs plugins like Magit have inspired the creation of some really nice TUI applications like lazygit and lazydocker, etc., and continue to be excellent.
It may not be for everyone, but Emacs still still has a lot to offer. For a significant minority of developers in current and future generations, I think it will continue to 'click'. For developers of other software development tools, it will continue to be a source of friendly competition and inspiration, and in that way it will continue to anchor and influence the landscape.
Re: EmacsConf 2022
#34Good to know! For as much as I use Emacs I don’t really follow the Emacs community / ecosystem. I saw version 29 was recently cut- is there anywhere I can get a good overview of “best practices in 2022”? I wouldn’t mind dusting off my init.el and updating it. I haven’t had a good yak shave in five years or so :)
Some examples:
(keymap-global-set " " #'upcase-dwim)
(keymap-set icomplete-minibuffer-map "TAB" #'icomplete-force-complete)
You can also use package.el to install packages from version control now, check the package-vc-selected-packages variable.Re: EmacsConf 2022
#35Earlier quoted context omitted.
> In the coming years Treesitter might render LSP obsolete some day. While LSP can support semantic highlighting, it's often used for navigation, ala goto-definition. I think there is little overlap between Tree-sitter and LSP.
> It’s often used for navigation, ala goto-definition Yes, that’s LSP‘s primary use case, either to jump to a definition or show inline documentation from around the definition as well as for autocompletion based on symbols in the execution environment accessible to a static analyser at least. I think that could all be done by a tree-sitter based parser, too, no need for a separate language server process. The LSP se…
There are things ENSIME could do that back when I did Scala development were not supportable via the LSP protocol because it didn't have rich enough metadata to encode certain kinds of contextual information. The contemporary ENSIME maintainer, who was burning out on the project at the time, wrote about this and the growing but, in his view, native excitement around LSP efforts with a lot of frustration. In a few blog posts or tweets he pointed out specific issues the developers of one language server were running into which he'd anticipated and pointed out, to no avail.
I like the multiprocess approach with standard protocols, despite its complexities, because it lets different editors share smarts. It's good when Vim users and Emacs users can participate in development with huge numbers of users of whatever is the trendy editor of the day, and share code in the form of LSP servers to benefit from IDE-like features. But I think it's likely we'll see an evolution beyond what LSP is capable of, and maybe standardization for some languages will be around something other than LSP.
Re: EmacsConf 2022
#36Earlier quoted context omitted.
https://blog.phundrak.com/emacs-29-what-can-we-expect/ has some highlights. eglot, tree-sitter are both very nice. the sqlite integration is currently what i'd describe as "cute", but maybe not the most featureful.
I'm shocked that ast based edition is back. Many people were against this, lots of grammar based tools sadly failed (for better or worse reasons). In a way it seems that the mainstream rose above regex level tree manipulation, and that even html/css made people start to think in subtrees rather than linear data. This might reduce efforts a lot, whether it is for edition or analysis. And this fine grained source inter…
Re: EmacsConf 2022
#37Earlier quoted context omitted.
RPN is forth not lisp, and I seriously doubt HP got their idea from emacs. I think HP's RPN precedes the first release of emacs anyway. Edit: 1st release of emacs was 1976 so I take that last bit back.
Sorry, I mistyped. I was thinking about HP42 and above RPL not the basic RPN. RPL is a blend of lisp idiom on top of good old stack based RPN (list, map, numerical tower). It goes so far that they even added quoted lambda expressions. You could push + a a >> on your stack.
There was a LISP based pocket computer: the Casio AI-1000:
Re: EmacsConf 2022
#38The videos are pre-recorded, but after the video there is a live Q&A section. Come and join the IRC channel. It's a lot of fun.
Was this an exceptional measure or a planned new kind of organization ? It's interesting.
Re: EmacsConf 2022
#39Earlier quoted context omitted.
> It’s often used for navigation, ala goto-definition Yes, that’s LSP‘s primary use case, either to jump to a definition or show inline documentation from around the definition as well as for autocompletion based on symbols in the execution environment accessible to a static analyser at least. I think that could all be done by a tree-sitter based parser, too, no need for a separate language server process. The LSP se…
There's an Emacs mode for Scala development inspired by SLIME called ENSIME, which antedates the LSP servers for Scala. There are things ENSIME could do that back when I did Scala development were not supportable via the LSP protocol because it didn't have rich enough metadata to encode certain kinds of contextual information. The contemporary ENSIME maintainer, who was burning out on the project at the time, wrote a…
Yes, the benefit LSP brings is putting editors/IDEs on equal footing with respect to a specific language. Also the multiplicative effect when the author of a new language provides a language server so nobody needs to switch their IDEs to try it out.
However, seeing how „straight forward“ a tree-sitter specific language grammar looks in practice (1) makes we wonder if by providing a TS grammar for a language would realize (almost) the same benefit. Based on such a grammar and TS’ selector engine figuring out a syntax highlighting scheme, code folder, a docstring or symbol scanner might not be such a huge endeavor any more as you described for ENSIME.
So, yeah, in the end LSP might be dead end at some point, especially because TS promises to be very fast and avoids any IPC. Performance seems to be the biggest problem of LSP clients in Emacs and probably other editors as well.
(1) https://github.com/Wilfred/tree-sitter-elisp/blob/main/gramm... — of course, the example being ELISP makes it look easier than said, if you compare it with the grammar of Perl5 that’s not yet finished unsurprisingly.
Re: EmacsConf 2022
#40As with the high vote totals for Firefox-related links, the presence of a link on an ancient* text editor at #1 on HN (as I write) reveals that HN voters are a bit ... old school. These tools' relative importance has declined over the last 15 years. * (I am a graybeard who used Emacs daily for a long time)