Samstag, 27. Oktober 2012

Mozilla versüßt JavaScript

JavaScript-Entwicklern soll die Arbeit mit Makros durch Mozillas sweet.js erleichtert werden. Um die Interaktion zwischen Makros und normalem Code zu verhindern, erweitert das Projekt JavaScript um sogenannte Hygienic Makros, 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 verfügbar; sweet.js nutzt Node.js. Da das Projekt noch in den Kinderschuhen steckt, ist mit Bugs zu rechnen. (jul)


View the original article here

0 Kommentare:

Kommentar veröffentlichen