6 ms·
That's ridiculous!
by nikolay 3y ago
That's ridiculous!
- icommentedtoday 3y ago?
- bobbyskelton41 3y agoI saw your comment on the thread. A. Most WebAssembly implementations are bigger than Helix itself. B. WebAssembly is immature. C. Lisp is perfectly fine. Even if you don't like it, it's not the end of the world if you have to use it to configure Helix.
- nikolay 3y agoA. It's true that Wasmer is bigger, but even my phone has 16GB of RAM and 1TB of storage space. B. There are probably more computers running WebAssembly loads today than Lisp ones. C. Lisp is a mature language, almost too mature. I used it extensively in the '80s and it served me well then, but that was 40 years ago. At least have the decency to use a more modern language like Lua, which is what Neovim uses.
- bobbyskelton41 3y agoA. Sure, but it isn't sufficiently beneficial for the cost. B. WebAssembly is immature for developing a plugin system because of the lack of a sufficient ABI: https://github.com/WebAssembly/component-model https://github.com/WebAssembly/component-model C. There aren't any other languages that meet the criteria. Lua was a no-go from the start. The maintainers did not like the language, and it necessitated adding more C code to Helix which could complicate building even further. https://github.com/helix-editor/helix/discussions/3806#discussioncomment-6686976 https://github.com/helix-editor/helix/discussions/3806#discu...
- nikolay 3y agoA Lisp, a weird dialect of Lisp, is not better than Lua. Why use Rune [0]?! [0]: https://rune-rs.github.io/ https://rune-rs.github.io/
- bobbyskelton41 3y agoRune is not mature and is developed by a handful of people. Please check the thread I linked, literally everything you could say has already been addressed. Saying "X is better than Y" or "Why not Z?" is not constructive at all.
- nikolay 3y agoIt is constructive, though - Lisp used to be fun when parsing complex language grammar was not as trivial as it is today. I loved it, and I worked with muLisp for many years... in the '80s and '90s. For AI (or, rather, "expert systems"), it was without a match... prior to the '80s, though. There were Lisp machines even... in the past.
- klibertp 3y agoLua is very weak for "programming in the large". It's just a little bit better than early JavaScript. Scripts are OK, but anything that requires more code with more structure requires incredible amounts of perseverance and discipline from all contributors. You can do fairly large programs in Lua as a small team of highly skilled hackers, but the barrier to entry will be much higher than if you did it in a language that offers ready-made abstractions. I use AwesomeWM, which is basically Emacs of Window Managers, with Lua instead of Elisp. The code is very well written and documented, yet getting into it is much more complicated than if it was written in Python - even if that Python was written poorly.
- zozbot234 3y agoIt's perfectly viable as a MVP. WebAssembly plugins for Helix had been proposed many times but without an actual implementation being worked on.
- CooCooCaCha 3y agoWhy? The properties of lisp make it suitable for both a config file, and an extension language. It can be easily embedded into existing languages and is extremely flexible.
- zozbot234 3y agoTuring-completeness in a config file is an anti-pattern. Write an external program to generate the config file instead.
- NeutralForest 3y agoWhy? Emacs has Emacs Lisp and Neovim has Lua, it's great to be able to configure, write plugins and helper functions, in the same language.
- dboreham 3y agoIf you're target audience are not progmmers versed in your wacky config language, it's a tremendous foot gun. Also a huge security hole.
- goku12 3y agoIt's possible to write declarative configuration in scheme. You can see that in Guix. Eventually someone will write a macro to create something purely declarative, like use-package in emacs. > it's a tremendous foot gun I've never seen this footgun in action with elisp in Emacs, lua in neovim or vimscript in vim. Is this anything more than hypothetical? > Also a huge security hole. If you put an editor in a position where its Turing-complete configuration is a security hole, you'll be in a lot more trouble than you imagine. Editors by definition are meant to modify stuff in a filesystem. With those privileges, it wont matter what the config language is. The plugins, even in webassembly, will cause serious issues.
- mtlmtlmtlmtl 3y agoIt's a text editor specifically made for writing code.
- baq 3y agoCertainly less ridiculous than YAML pretending to be a declarative key-value file store