Clojure zielt auf mehrere Backends ab. Dies ist ein Nebeneffekt Clojure ist eine gehostete Sprache mit der philosophy von umarmen den Host entworfen. Es wird beispielsweise niemals das Ziel sein, den gleichen Code, der für Clojure geschrieben wurde, auf der JVM unmodifiziert auszuführen, zum Beispiel wieder in der CLR. Zwischen Clojure für die JVM und ClojureScript sind beträchtliche Mengen an Code üblich, was ein netter Bonus ist.
Es ist derzeit stabil:
- JVM
- JavaScript/ECMAScript
Allgemeinen stabil:
und ich kenne experimentelle Builds für:
- Python
- C
- Scheme
- IOS (via Scheme)
Weitere Ziele zeigen sich als Interesse und Zeit schneiden. Wenn Sie eine Implementierung für Ihre Lieblings-Lisp bereitstellen möchten, sind Patches willkommen! Es wäre ratsam, Ihre Implementierung auf dem ClojureScript-Compiler zu basieren, da dies die beabsichtigten Entwicklungsmethoden für den Compiler am besten veranschaulicht.
Langsamer zur Laufzeit oder langsamer zum Starten? Die Laufzeit sollte vergleichbar sein, obwohl die Startzeit ein bekanntes Problem ist. – noisesmith
Welche Clojure liegst du? Vielleicht können Sie in einem Beispiel etwas bearbeiten, das in SBCL schneller ist als Clojure? – Sylwester
Für eine Vielzahl von kleinen Programmen, SBCL besser auf einige, Clojure auf andere, unter bestimmten Bedingungen: Siehe [Benchmark-Spiel] (http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang = clojure & lang2 = sbcl & data = u64q). Ich persönlich denke, dass SBCL eine unglaubliche Implementierung ist. Schneller als jedes andere Common Lisp für meine Hauptanwendung. Habe nicht versucht, es nach Clojure zu portieren. Kann niemandem die Schuld geben, dass er die syntaktischen Eigenheiten von CL nicht mag. – Mars