Previous Entry Share Next Entry
2016-01

чем бы дитя не тешилось (транслятор JS в Lua)

Короче, я бредил этой мыслью года полтора (или больше?), с тех пор, как проникся красотой LuaJIT'а, и еще больше с тех пор, как увидел OpenResty.

Ну и вот, начал наконец. А то я совсем раскис что-то, менеджить и менеджить, надо и кода похерачить.

План таков: дойти до состояния, когда можно будет его забутстрапить (что даст всякие eval'ы), после чего выложить на Bitbucket, и пусть народ развлекается дальше.

После чего в экосистеме Lua появится возможность поюзать вагон и маленькую тележку модулей для node.js, например.

Хроника: 12 января, утро, начало
12 января, вечер - 475 из 11725 тестов ( https://github.com/tc39/test262/tree/es5-tests )
13 января, вечер - 1015 из 11725 тестов
14 января, день - 1212 тестов из 11725 проходят (ну как проходят.. глазами я их, конечно, просмотреть не могу все, скажем так, выхлоп совпадает)

700 LOC транслятор, 120 LOC обвязка (harness), 450 строк рантайм. Плюс esprima, конечно, без нее старт был бы в разы дольше.

Оставайтесь с нами :)

This entry was originally posted at http://wizzard.dreamwidth.org/416957.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
justy_tylor January 14th, 2015
Кстати, таки на чём ты его пишешь?

wizzard0 January 14th, 2015
TypeScript

_winnie January 14th, 2015

1) круто!

2) Скриптовикам в геймдеве возможно хватит банального синтаксического сахара, с заменой do..end на {} и тп, (и менее банальной замены индексирования с 1 на индексирование с 0, включая интерфейс библиотек)

wizzard0 January 14th, 2015
Не забывай, что задачи "Х как бекенд для Y", "импортнуть Y модуль из X", "тулзы для портирования Y -> X" и "скриптовый язык с сахаром, на бекенде X" - это 4 совсем разные вещи, их нельзя решать одновременно.

  • 1
?

Log in

No account? Create an account