Comment by cayley_graph
1 year ago
And, oddly, they chose to do their own Scheme implementation for it. Not that I'm against Scheme in particular, but a lot of other people justifiably seem to be. It doesn't have the speed or learn-it-in-10-minutes of Lua (nvim) or the historical excuse of Elisp/Vimscript (emacs/vim) or the ecosystem of Typescript (vscode). Strange choice.
They already have Scheme based config files and I'd say it is simpler that Lua.
What are you talking about? It uses TOML for config files and some S-expressions for queries, which is actually a consequence of using tree sitter.
https://docs.helix-editor.com/configuration.html
I should have specified internal config files for the runtime queries that you mention. Those are .scm files.
2 replies →
It can't really be simpler than Lua, come'on. Maybe if you already know Lisp, but for people who know C-like languages (Java, Javascript, C++) Lua should be much more "obvious".
scheme is a group of languages, it doesn’t have its speed. some implementations are very quick. and quick-to-learn, too.
helix looks like a passion project, so i thoroughly understand their wish to tend towards what they enjoy doing.
I mentioned speed because they're writing their own instead of using Chez or Gambit or something (which have taken a while to get into 'performant' territory). Writing and maintaining a fast(!) Scheme is hard. Having spent time with r5/r6/r7rs (many variants for the latter) and their quirks I'd honestly say Lua is simpler by a wide margin, but some of this is down to preference. The Lua execution model, if nothing else, is a lot easier to understand than call/cc for instance. And the language does force you to write things functionally, practically speaking. I'm also not a huge fan of syntactic macros. Also things like dynamic binding which, in fairness, are just SRFIs but end up being implemented by most Schemes. I do respect their willingness to do what's fun for them, though :) that's what it's all about.
Scheme makes sense to me (better semantics than Lua), but I'm surprised that they didn't choose an established and fast implementation like Guile.
Yeah, that was mostly my thinking. I like lisp!