Stories
Slash Boxes
Comments

SoylentNews is people

posted by n1 on Friday January 13 2017, @07:34PM   Printer-friendly
from the to-vi-or-not-to-vi dept.

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/


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by darkfeline on Saturday January 14 2017, @10:26PM

    by darkfeline (1030) on Saturday January 14 2017, @10:26PM (#453932) Homepage

    Static type checking isn't very useful in elisp since the type of almost everything is going to be "cons" and there's no good way to declare static types for all of the ways cons are used (an alist can also be a valid plist, can be a valid list, can be a valid list of lists, can be a valid list of cons, etc)

    --
    Join the SDF Public Access UNIX System today!
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2