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-webserverfü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.