Facebooks Retrie: Refaktorisierung komplexer Haskell-Projekte als Open Source

Retrie kommt wie die Programmiersprache Haskell bei Facebook bevorzugt bei der Bekämpfung von Malware und Spam zum Einsatz.

In Pocket speichern vorlesen Druckansicht 4 Kommentare lesen
Komplexe Haskell-Projekte mit Retrie refaktorisisieren

(Bild: Miriam Doerr, Martin Frommherz/Shutterstock.com)

Lesezeit: 2 Min.
Von
  • Alexander Neumann

Entwickler des sozialen Netzes Facebook haben mit Retrie ein Code-Refactoring-Tool für die Programmiersprache Haskell als Open-Source-Software freigegeben. Mit dem Werkzeug sollen Entwickler große Codebasen mit zum Beispiel mehr als einer Million Zeilen effizient umschreiben können.

Retrie steht unter einer MIT-Lizenz. Es ist nicht das erste Tool für Haskell-Entwickler, das Facebook als Open Source zur Verfügung stellt. Beispielsweise hatte das soziale Netz bereits 2014 mit Haxl eine Bibliothek auf GitHub freigegeben, die Facebooks domänenspezifische Programmiersprache FXL (Feature eXtraction Language) zum Schreiben von Regeln zur Identifizierung von Spam mit Haskell verbindet und den Remote-Zugriff auf Datenbanken und Webdienste erleichtern soll.

Zu den Features von Retrie gehören die Möglichkeiten, Ausdrücke, Typen und Muster sowie Skripte neu schreiben und Nebenbedingungen hinzufügen zu können. Außerdem umfasst das Tool eine Bibliothek für das Erstellen von Skripten für fortgeschrittenere Rewrites. Zudem unterstützt Retrie lokales Scoping, verhindert Leerraum, verbietet den Abgleich unvollständiger Ausdrucksfragmente und entfernt oder fügt Klammern nach Bedarf hinzu.

Die Programmiersprache Haskell ist zwar schon über 30 Jahre alt, hat aber nie eine sehr große Verbreitung gewinnen können. Dafür hat sie als funktionale Programmiersprache großen Einfluss auf andere funktionale Vertreter nehmen können und nichtfunktionale Sprachen haben bei der Einführung funktionaler Sprachelemente oft Bezug auf Haskell genommen. Facebook setzt auf Haskell bei der Bekämpfung von Malware und Spam. Hier ersetzte Haskell FXL in der Regel-Egine Sigma. Und in dem Kontext setzte Facebook auch Retrie intern ein.

Weitere Informationen zum Code-Refactoring-Tool finden Interessierte in der Ankündigung zur Open-Source-Legung. Den Quellcode gibt es auf GitHub.

(ane)