Racket ist ein moderner Lisp-Dialekt, der aus der Scheme-Tradition stammt und sich auf das Bauen von Sprachen spezialisiert hat — bekannt als language-oriented programming. Die DrRacket-IDE und das mächtige Makrosystem machen Racket besonders für Ausbildung und Sprachdesign beliebt.
Erste Schritte
Racket-Programme beginnen mit einem Sprach-Header; die Ausführung übernimmt racket:
#lang racket ; erste Zeile jeder Datei
racket datei.rkt ; Programm ausführen
racket -i -e "(+ 1 2)" ; Ausdruck in REPL auswerten
raco: Die Kommandozeilen-Werkzeuge
raco make datei.rkt— kompiliert zu Bytecode.raco pkg install paket— Paket installieren (Paketmanager).raco pkg remove paket— Paket entfernen.raco test— Tests aus dem Paket ausführen.raco docs— lokale Dokumentation im Browser öffnen.raco exe --gui datei.rkt— eigenständige ausführbare Datei bauen.
Sprachvariationen und Makros
#lang typed/racket ; Typed Racket: statische Typen
#lang scribble ; Dokumentationssprache
(define-syntax-rule (swap a b) ...) ; eigenes Makro
Praxis-Tipps
- DrRacket bietet Schritt-für-Schritt-Debugging und einen Stepper für Anfänger.
- Mit
#langlassen sich eigene DSLs definieren — Racket kompiliert dann die neue Sprache. - Für Web-Anwendungen existiert das Web-Server-Paket im Racket-Ökosystem.
Verwandte Grundlagen: Scheme-Befehle, Common-Lisp-Befehle, Emacs-Lisp-Befehle.