2015-11-26 11 views
11

Fast jede kompilierte Sprache hat eine Version des Compilers in der Sprache geschrieben.Elm Compiler in Elm?

Gibt es nicht einen Elm-Compiler in Elm geschrieben?

+0

* ahem * downvote für "zeigt keine Forschungsbemühungen an" winkt ... [was-kann-ich-tun-wenn-es-bekommt-es-wird-nicht-unsere-Qualitätsstandards] (http: //meta.stackexchange.com/questions/92074/what-can-i-do-when-getting-it-does-not-meet-our-quality-standards) [ist-meine-Frage-nicht-klar-genug ] (http://meta.stackoverflow.com/questions/299469/is-my-question-not-clear-enough), [was-kann-ich-tun-wenn-es-tut-nicht-treffen- unsere-Qualitätsstandards] (http://meta.stackexchange.com/questions/92074/what-can-i-do-when-getting-it-does-not-meet-our-quality-standards) – TessellatingHeckler

+0

I don Ich weiß nicht, wie man ein Negativ beweist. Die wenigen Dokumente, die ich gefunden habe, deuten darauf hin, dass der Compiler in Haskell geschrieben ist. – Malvolio

Antwort

16

Im Moment ist der einzige vollständige Elm-Compiler die "official" one, daher nicht benannt, und es ist in Haskell geschrieben. Ich kenne keine Implementierung eines Elm-Compilers in Elm.

Im Laufe der Jahre, dass ich die Elm Mailing Liste (s) gelesen habe, habe ich diese Frage kommen sehen. Einige Leute haben ihr Interesse bekundet, den Compiler in Elm geschrieben zu haben, damit er in JavaScript kompiliert werden kann, und daher würde es im Browser einen Compiler für Elm geben. Aber das ist bisher das einzige überzeugende Argument, das vorgebracht wurde (IIRC). Was nicht genug ist, um den Elm-Compiler nach Elm zu portieren, ist das Kosten-Nutzen-Verhältnis durch den enormen Aufwand verzerrt, den es braucht, um die Hälfte der Haskell-Bibliotheken zu portieren, die derzeit vom elm-Compiler verwendet werden.

+1

Neben den Vorteilen, es in einem Browser oder anderen Javascript-Umgebungen zu betreiben (was ich will), würde es zeigen, dass das Schreiben ernsthafter Programme in Elm keine große Anstrengung ist. – Malvolio

+10

@Malvolio Elm ist eine voll funktionsfähige Programmiersprache, daher sollte es sich für Compiler gut eignen (dies ist eine traditionelle Behauptung funktionaler Sprachen). Aber Elm ist eine Sprache, die sich auf GUIs konzentriert, daher ist der Fokus für Bibliotheken gerade nicht der richtige Ort, um eine großartige Compilersprache zu sein. Es könnte das in der Zukunft werden ... – Apanatshka

3

Ab 2017 obwohl die offiziellen Compiler den einzigen vollständigen Elm Compiler soweit ich weiß bleiben, hat dies been converted to JavaScript Dies bedeutet, dass es jetzt von Elm und im Browser aus ausgeführt werden kann. Dies bedeutet, dass die major advantage described above des Schreibens des Elm-Compilers in Elm jetzt weniger relevant erscheint. Sie können ein Beispiel sehen, wie dies verwendet wurde, um Elm im Browser here zu kompilieren.