Stories
Slash Boxes
Comments

SoylentNews is people

SoylentNews is powered by your submissions, so send in your scoop. Only 17 submissions in the queue.
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 Marand on Saturday January 14 2017, @12:25AM

    by Marand (1081) on Saturday January 14 2017, @12:25AM (#453620) Journal

    That makes no sense - you write elisp functions in elisp, otherwise, they're *not elisp functions*?!?!?

    It's an elisp function in the sense that it's created to be used from elisp, but created in the underlying langauge (normally C, or Rust in this thing's case). For another example of this, look at Lua, which is frequently embedded in software such as games, which results in a similar situation: Lua functions that were implemented in whatever language it was embedded into. So, it sounds like they're requesting help converting elisp-callable functions that were implemented in C.

    One interesting thing about lisps is, once you have a few primitives, you can implement the rest of the language with the lisp itself... however, they always seem to implement more than the minimum necessary in the "parent" language, presumably for performance reasons. With a codebase as old as emacs, there's probably a lot of code like that lying around.

    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 2) by FatPhil on Sunday January 15 2017, @01:14PM

    by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Sunday January 15 2017, @01:14PM (#454066) Homepage
    Those aren't elisp/lua functions, those are elisp/lua primitives.
    --
    Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves
    • (Score: 2) by Marand on Sunday January 15 2017, @09:02PM

      by Marand (1081) on Sunday January 15 2017, @09:02PM (#454164) Journal

      Seriously? I'm aware they're primitives -- I called them that in my comment in fact -- but it's usually not worth making the distinction explicitly. I made a good-faith attempt to explain what they likely meant because I thought it might be a legitimate question instead of smart-assed pedantry, but your follow-up indicates I was mistaken. Now you're just nitpicking in a desperate attempt to correct me.

      • (Score: 2) by FatPhil on Monday January 16 2017, @01:00AM

        by FatPhil (863) <{pc-soylent} {at} {asdf.fi}> on Monday January 16 2017, @01:00AM (#454213) Homepage
        I was attempting to point out that *they* come over as ignoramuses, nothing more.
        --
        Great minds discuss ideas; average minds discuss events; small minds discuss people; the smallest discuss themselves