Submitted via IRC for TheMightyBuzzard
I am delighted to announce Remacs, a project to port Emacs to Rust!
Emacs, at its heart, is a lisp interpreter written in C. In Remacs, we're replacing this C code with Rust, and all the elisp you know and love will just work.
If you've ever fancied contributing to core Emacs, this is a great opportunity to learn the internals. There's tons of low hanging fruit, we have a list of good first bugs and even a walkthrough of writing your first elisp function using Rust.
Rust is perfect for this because we can port incrementally. If you want to replace the entire regular expression engine, you can do that. If you just want to replace this function here, you can do that and the C code won't even notice. You will have a full-blown Emacs every step of the way.
[...] Remacs is based on Emacs 25.2. We've got enough type definitions that you can write interesting built-in functions, but the project is still at a very early stage. Using these, we've got a few built-in elisp functions written entirely in Rust: some arithmetic, some type checks, and even some basic list functionality.
I'll stick to MrPlow for now, thanks. He's Rust enough for me until his code stops looking like a noob wrote it.
Source: http://www.wilfred.me.uk/blog/2017/01/11/announcing-remacs-porting-emacs-to-rust/
(Score: 2) by Marand on Saturday January 14 2017, @12:38AM
While you are at it, consider working on making lexical scoping the default, and inserting static type checking in elisp, to further banish bugs.
Can't do that without breaking compatibility with everything, though. You can already set lexical scoping in a couple ways, and it's encouraged I believe, but it's not something you could just flip a switch on for everything without potentially breaking a lot of code. To do something drastic like that you'd need do a Perl5|6 or Python2|3 type split, essentially freezing the current elisp so that existing code keeps working while encouraging people to move to writing .el2 files or something.
Though if you're going to do that you may as well go with a completely different, and less shitty, lisp. Preferably a lisp-1 of some kind, such as a Scheme dialect. With some sort of proper fucking regex literal, too; that "\\\\\\\\\\\\\foo" nonsense gets ridiculous. I could keep going, I don't like elisp very much...
(Score: 0) by Anonymous Coward on Saturday January 14 2017, @12:55PM
The long-standing plan is to replace elisp with Guile [gnu.org], which is the GNU implementation of Scheme, once it has matured enough to have a fully-compatible elisp mode. A quick search shows that you can build the current version of this so-call GuileEmacs from here [emacswiki.org].