• IT-Karriere:
  • Services:

Remacs: Rust-Basis für Editor Emacs vorgestellt

Das Remacs-Projekt will den Code des erweiterbaren Editors Emacs auf Rust portieren. Bei dem Projekt wird vor allem der für Emacs sehr wichtige Lisp-Interpreter von C auf Rust portiert.

Artikel veröffentlicht am , Kristian Kißling/Linux Magazin
Das nächste altehrwürdige Projekt bekommt eine Rust-Portierung von der Community.
Das nächste altehrwürdige Projekt bekommt eine Rust-Portierung von der Community. (Bild: Barta IV/Flickr.com/CC-BY 2.0)

Der freie Editor des GNU-Projekts, Emacs, interpretiert die Sprache Lisp und lässt sich darüber erweitern. Zwar sind auch viele Funktionen des Editors in dem Emacs-eigenen Lisp-Dialekt Elisp geschrieben, der Kern des Lisp-Interpreters selbst besteht allerdings nach wie vor aus C-Code. Ein neues Projekt namens Remacs will das ändern und spendiert Emacs eine Rust-Grundlage.

Stellenmarkt
  1. Campact e.V., deutschlandweit (Home-Office möglich)
  2. OMIRA GmbH, Ravensburg

Für den Entwickler Wilfred Hughes liegen die Gründe für die Portierung von C auf Rust klar auf der Hand, wie er in seinem Blog ausführt. Dank Rust könne Emacs vom Crate-Ökosystem der Sprache profitieren, das heißt von Paketen, die die Community für die Sprache erstellt hat. Ebenso müssten bei der Portierung keine veralteten Compiler und Plattformen mehr unterstützt werden wie etwa MS-DOS.

Mit Hilfe von Rust könnten außerdem Docstrings und Unit-Tests auch für solche Kernfunktionen ergänzt werden, zu denen Elisp selbst keinen Zugang hat. Nicht zuletzt mache so ein Portierungsprojekt schlicht Spaß und die Entwickler könnten Rust besser kennenlernen.

An dem Projekt Interessierte hätten dabei je nach Ambition die Möglichkeit, wahlweise riesige Teilbereiche wie die komplette Regular-Expression-Engine oder einfach nur einzelne Elisp-Funktionen oder kleine C-Funktionen auf Rust zu portieren. Einer der Vorteile von Rust ist die einfache Integration von C-Code, so dass einzelne Funktionen Stück für Stück ersetzt werden könnten. Entwickler Hughes macht in seinem Blogpost auch einige Vorschläge, welche Komponenten sich problemlos ändern lassen sollten, verlinkt ein Tutorial hierzu ebenso wie offene Bugs des Projekts. Remacs basiert auf der noch nicht veröffentlichten Emacs-Version 25.2, der Code zum Projekt steht auf Github.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Hardware-Angebote

Folgen Sie uns
       


Watch Dogs Legion - Raytracing im Vergleich

Wir zeigen die Auswirkungen von Raytracing-Spiegelungen im integrierten Benchmark von Watch Dogs Legion. Dort wie im Spiel reflektieren Wasserfläche, etwa Pfützen, sowie Glas und Metall - also Fenster oder Fahrzeuge - die Umgebung dynamisch in Echtzeit.

Watch Dogs Legion - Raytracing im Vergleich Video aufrufen
Mario Kart Live im Test: Ein Klempner, der um Konsolen kurvt
Mario Kart Live im Test
Ein Klempner, der um Konsolen kurvt

In Mario Kart Live (Nintendo Switch) fährt ein Klempner durchs Wohnzimmer. Golem.de hat das Spiel mit einem Konsolen-Rennkurs ausprobiert.
Von Peter Steinlechner

  1. Nintendo Entwickler arbeiten offenbar an 4K-Updates für Switch Pro
  2. Nintendo Switch Mario Kart Live schickt Spielzeugauto auf VR-Rennstecke
  3. 8bitdo Controller macht die Nintendo Switch zum Arcade-Kabinett

CalyxOS im Test: Ein komfortables Android mit einer Extraportion Privacy
CalyxOS im Test
Ein komfortables Android mit einer Extraportion Privacy

Ein mobiles System, das sich für Einsteiger und Profis gleichermaßen eignet und zudem Privatsphäre und Komfort verbindet? Ja, das geht - und zwar mit CalyxOS.
Ein Test von Moritz Tremmel

  1. Alternatives Android im Test /e/ will Google ersetzen

Big Blue Button: Das große blaue Sicherheitsrisiko
Big Blue Button
Das große blaue Sicherheitsrisiko

Kritische Sicherheitslücken, die Golem.de dem Entwickler der Videochat-Software Big Blue Button meldete, sind erst nach Monaten geschlossen worden.
Eine Recherche von Hanno Böck


      •  /