Проекты по компиляции кода на языках Clojure и Pascal в JavaScript-представление

В рамках проекта ClojureScript разработан компилятор, позволяющий преобразовать код на языке Clojure в представление на языке JavaScript. Итоговый JavaScript код может быть выполнен в обычном браузере или использован для работы с серверной платформой node.js. Clojure представляет собой диалект языка Lisp, ориентированный на функциональное программирование и многопоточность. Ранее Clojure можно было использовать только совместно с виртуальными машинами JVM и CLR.

Как и оригинальная реализация Clojure, проект ClojureScript распространяется в рамках открытой лицензии EPL (Eclipse Public License). Разработчиком проекта является Рич Хикки (Rich Hickey), автор языка Clojure. Пример компиляции Clojure-кода и встраивания результирующего JavaScript в web-страницы можно найти в кратком руководстве.

Одновременно анонсирован проект OP4JS, целью которого является создания транслятора с языка Object Pascal в код на языке JavaScript.

Дополнительно можно отметить тенденцию использования JavaScript в роли "ассемблера" для Web. В частности, день за днем растет число проектов по созданию компиляторов, написанных на JavaScript или преобразующих в JavaScript код на других языках программирования. Из наиболее интересных можно отметить:

  • Python: PYXC-PJ (генератор JavaScript-кода а основе кода на языке Python), Pyjamas (компилятор с Python на JavaScript), Skulpt (реализация языка Python, написанная на JavaScript), PyCow (преобразователь кода Python в MooTools JS), PyvaScript (поддержка синтаксиса, напоминающего Python, для JavaScript);
  • Ruby: HotRuby (запускает объектный код YARV внутри браузера), rb2js (преобразует код Ruby в JavaScript), RubyJS (форк rb2js), Red (компилятор Ruby в JavaScript), Opal (компилятор Ruby в JavaScript), 8ball (преобразователь кода на Ruby в код на JavaScript);
  • C/C++: Emscripten (компилятор байткода LLVM в JavaScript), Maja (компилятор Vala в JavaScript), ClueCC (компилятор кода на Си в представление на языках Lua, JS, Perl 5, C, Java и CL);
  • Java: GWT (Google Web Toolkit, компилирует java-код в JavaScript), Java2Script (Eclipse-плагин для компиляции Java в JavaScript), j2js (преобразует Java-байткод в JavaScript);
  • PHP: phype (PHP-компилятор, написанный на JavaScript);
  • Perl: p2js (конвертер Perl-кода в JavaScript);
  • Basic: qb.js (реализация QBASIC на JavaScript), NS Basic (компилятор Visual Basic в JavaScript);
  • Smalltalk: Silver Smalltalk, JTalk, Lively Kernel;
  • Haskell: UHC (Utrecht Haskell Compiler), YHC (York Haskell Compiler), jshaskell;
  • OCaml: Ocamljs, O'Browser, Js_of_ocaml;
  • Scala: scalagwt;
  • Scheme: Fargo (реализация Scheme на JavaScript), Moby Scheme, nconc, scheme2js;
  • Lisp: EdgeLisp (Lisp на JavaScript), Parenscript, Ralph, Sibilant, Spock.


Источник:
http://www.opennet.ru/opennews/art.shtml?num=31249

<= Назад
Комментарии
]]> ipv6 ready Kiev LUGLinux4MeНостальгияЛичный сайт skeletora ]]>