Roc ist eine rein funktionale Programmiersprache, die Richard Feldman (bekannt aus der Elm-Community) entwickelt. Sie verfolgt das Motto „fast, friendly, functional“: Roc-Code soll schnell kompilieren und schnell laufen — die Sprache übersetzt zu Maschinencode oder WebAssembly. Statt einer großen Standardbibliothek nutzt Roc so genannte Platforms, die das Programmieren für Kommandozeile, Web-Server oder Browser vorkonfigurieren.

Erste Schritte

Der Roc-Compiler heißt roc und wird über die Kommandozeile bedient. Ein einfaches Programm liegt in einer main.roc-Datei:

roc check main.roc     # Typprüfung ohne Code zu erzeugen
roc build main.roc     # Kompiliert zu einer ausführbaren Datei
roc run main.roc       # Kompiliert und führt das Programm aus
roc dev main.roc       # Entwicklungsmodus mit schneller Neukompilierung
roc test main.roc      # Führt die Tests im Modul aus
roc fmt main.roc       # Formatiert den Quelltext
roc repl               # Interaktive REPL zum Ausprobieren

Wichtige Optionen

  • --output <datei> — Zielpfad der erzeugten Binärdatei festlegen
  • --target wasm32 — kompiliert zu WebAssembly statt nativem Maschinencode
  • --linker — Linker-Auswahl (Standard: LLD als Bibliothek eingebunden)

Praxis-Tipps

  • Roc ist noch in der Pre-Release-Phase — die Sprache verändert sich, die grundlegenden Befehle bleiben aber stabil.
  • Die basic-cli-Platform liefert Module für Kommandozeilen-Argumente und externe Befehle, basic-webserver für HTTP-Anwendungen.
  • Da Roc rein funktional ist, gibt es keine Variablen mit Seiteneffekten im klassischen Sinn — Abhängigkeiten werden explizit als Parameter gereicht.

Verwandte Grundlagen: Haskell-Befehle, Elm-Befehle, Rust-Befehle, Odin-Befehle, D-Befehle.