Jestem świadomy ClojureScript - możliwość kompilacji kodu clojure do javascript, ale czy można zrobić odwrotnie, wziąć jakiś podzbiór kodu javascript i przetłumaczyć go z powrotem na clojure?JavaScript do clojure
Odpowiedz
Tak, chociaż tak naprawdę nie miałoby to sensu.
Clojure -> JavaScript sens, ponieważ:
- JavaScript to jedyny odpowiedni język docelowy dla szerokiej klasy aplikacji internetowych
- Umożliwia efektywne wykorzystanie kompilatora Zamknięcie Google dla całej optymalizacji programu
- Clojure jest świetnym językiem "źródłowym" ze względu na cechy makro i świetne wsparcie dla definiowania ekspresywnych DSL
Clojure byłby o Wybór dd dla języka docelowego - jeśli chcesz uruchomić na platformie JVM, bardziej naturalne byłoby bezpośrednie kierowanie kodu bajtowego Java.
JavaScript byłby także dziwnym wyborem dla języka źródłowego kompilującego Clojure - jeśli chcesz kod Clojure, dlaczego nie napisałbyś bezpośrednio Clojure? W szczególności użycie (możliwego podzbioru) JavaScriptu nie dałoby łatwego dostępu do wszystkich funkcji, które czynią Clojure naprawdę fascynującym (leniwy programowanie funkcjonalne, obsługa współbieżności, makroaprogramowanie makr, trwałe struktury danych itp.)
Tak, istnieje możliwość przetłumaczenia kodu JavaScript na Clojure. Podobnie jak inne dialekty z rodziny Lisp, Clojure dobrze nadaje się do tworzenia parserów i kompilatorów dla innych języków.
Tak, to jest zdecydowanie możliwy i bardzo praktyczny pomysł. Można faktycznie użyć Rhino Javascript compiler do konwersji klas JavaScript na Java, a następnie można podłączyć coś do wywołania klas Java z Clojure. Nie dostajesz kodu źródłowego, ale możesz wykorzystać biblioteki w kodzie Clojure.
Właśnie natknąłem się na JavaScript do transpilatora Common Lisp o nazwie CL-JavaScript.
Możesz to zrobić tylko z Chlorinejs, podzbiorem Clojure, który dzieli wiele rzeczy z javascript. https://github.com/chlorinejs/chlorine/wiki https://github.com/chlorinejs/chloride
- 1. Narzędzie do pokrycia testu Clojure?
- 2. DSL do syntezy obrazu Clojure
- 3. Importowanie klas Java do Clojure
- 4. Pętla Do-while w Clojure?
- 5. Clojure iOS Development
- 6. Zalety Clojure
- 7. Arkusze Clojure
- 8. Clojure stripMargin
- 9. Kompilacja Clojure?
- 10. Clojure: odnosząc się do nazwy przestrzeni nazw
- 11. Clojure - zastosowanie funkcji do wektora wektorów
- 12. Jaka jest droga do budowania wzoru clojure?
- 13. Clojure idiomatyczne do synchronizacji między wątkami
- 14. Jak zrobić obiekt do wywołania w Clojure?
- 15. W clojure, jak zastosować makro do listy?
- 16. Jak wprowadzić dane użytkownika do Clojure?
- 17. Dodaj pozycje do listy/sekwencji w Clojure
- 18. Dopasowywanie wzorców do rekordów w Clojure
- 19. Idiomatyczne podejście do struktury kodu źródłowego Clojure
- 20. Clojure: Przekaż rozszerzone opcjonalne argumenty do funkcji
- 21. Clojure pierścień middleware do obsługi url tablicę
- 22. Dołącz replikę clojure/scala do działającego JVM
- 23. Książka do nauki pisania Clojure/Lisp Macros
- 24. Newbie do clojure, próbując zrozumieć wyrażenie
- 25. Clojure zaokrąglenie do miejsc po przecinku
- 26. Dostęp do pól Java dynamicznie w Clojure?
- 27. Dodawanie pól do zastępowanym klasy w Clojure
- 28. Jakie narzędzia do autotestowania istnieją dla Clojure
- 29. Dlaczego Clojure zamiast Javy do programowania współbieżnego
- 30. Clojure: = vs ==
Wątpię, nie mogę nawet znaleźć kodu JavaScript do kompilatora LISP, ale zawsze możesz po prostu napisać. – Raynos
Istnieje parser JavaScript napisany w Common Lisp pod adresem http://marijnhaverbeke.nl/parse-js/ –
Tak, jest to możliwe, ale czy jest to warte wysiłku? –