4 ms·
There is an amazing project of converting Emacs into the more modern language - Rust (the C parts of it). It is called REmacs[1]. It is sad that the port of Ema
by xvilka 7y ago
There is an amazing project of converting Emacs into the more modern language - Rust (the C parts of it). It is called REmacs[1]. It is sad that the port of Emacs to Guile[2] didn't work out. And for the people who want to convert their C code to Rust, I quite recommend trying c2rust[3] transpiler and refactoring tool.
[1] https://github.com/remacs/remacs https://github.com/remacs/remacs
[2] https://www.emacswiki.org/emacs/GuileEmacs https://www.emacswiki.org/emacs/GuileEmacs
[3] https://github.com/immunant/c2rust/ https://github.com/immunant/c2rust/
- rtpg 7y agoreading the GuileEmacs thing it sounds like the project was a success? Is there pushback against using this upstream?
- xvilka 7y agoIt was working, but not good enough, indeed.
- bjoli 7y agoGuile is supposed to be the GNU extension language, which meant there was a political incentive for guile Emacs, but it was never asked for by the Emacs people. Considering the amount of bikeshedding going on for faaaar less intrusive changes to Emacs, I have doubted guile Emacs success for a long time. Guile now runs elisp, although there is a lot of low hanging fruit left when it comes to optimization. Guile is shaping up to become a very neat little VM, with proper threading, JIT compilation, and delimited continuations. I think the idea of elisp running outside of Emacs, with access to all of the gory glory of Emacs libraries sounds fantastic. Imagine org-mode and a (emacs PKG org-mode) library you can use outside of Emacs with a sub 0.1s startup :)
- banachtarski 7y agoI'll be honest, I feel like such a project is a waste of time, in a similar vein to many such "port to Rust" projects. Even the project page itself gives vague and rather suspect motivation for why such a project should exist. I could appreciate it if there were legitimate architectural concerns that need to be addressed (see, for example, neovim).