zurück zum Artikel

Mozilla versüßt JavaScript

Julia Schmidt

Das sweet.js-Projekt aus dem Hause Mozilla möchte JavaScript-Entwickler mit Hygienic Macros unterstützen. Befehlsfolgen sollen so ohne die aus C-Sprachen bekannten Probleme in Anwendungen integriert werden können.

JavaScript-Entwicklern soll die Arbeit mit Makros durch Mozillas sweet.js [1] erleichtert werden. Um die Interaktion zwischen Makros und normalem Code zu verhindern, erweitert das Projekt JavaScript um sogenannte Hygienic Makros [2], wie sie bereits in Sprachen wie Rust und Scheme vorhanden sind. Auf diese Weise sollen aus C-Sprachen bekannte Probleme verhindert werden, beispielsweise die Nutzung bereits belegter Variablen durch Makros.

Generell lässt sich JavaScript durch Makros auch eigenen Bedürfnissen anpassen, wie ein Beispiel auf der Projektseite zeigt:

macro def {
case $name:ident $params $body => {
function $name $params $body
}
}

Hier wird der Funktionsbezeichner function durch das kürzere def ersetzt, sodass der mitgelieferte sweet.js-Compiler den folgenden Aufruf

def sweet(a) {
console.log("Macros are sweet!");
}

in eine gewöhnliche Funktion umwandeln und so für JavaScript-Laufzeitumgebungen lesbar machen könnte.

Der Quellcode des Compilers ist auf Github [3] verfügbar; sweet.js nutzt Node.js. Da das Projekt noch in den Kinderschuhen steckt, ist mit Bugs zu rechnen. (jul [4])


URL dieses Artikels:
https://www.heise.de/-1729595

Links in diesem Artikel:
[1] http://sweetjs.org/
[2] http://en.wikipedia.org/wiki/Hygienic_macro
[3] https://github.com/mozilla/sweet.js
[4] mailto:jul@heise.de