Pull to refresh

Comments 5

Если такой сахар замедляет выполнение кода, то и смысла в нём особого нет, потому что Lua обычно выбирают не за сахар, а за максимально высокую скорость выполнения из всех встраиваемых скриптовых языков.

Хотя с лямбдами кодить всё равно приятнее, чем без них.

интересный костыль, но замедление будет значительное — почти весь код через eval прогоняется, о всяких luaJit можно забыть
Я лямбдами в луа пользовался безо всяких библиотек еще лет десять назад. Зачем делать какой-то новый синтаксис, если все уже есть в языке?

Идея интересная, короткой записи лямбд действительно не хватает в lua. Но мне кажется тут лучше поправить код интерпретатора добавив простой синтаксический сахар в виде замены конструкции x, y, z, ... -> expr на function(x, y, z, ...) return expr end. К тому же -> и => не заняты в языке. Это и по производительности дешево выйдет, а то, как уже выше заметили, в вашей реализации такое удобство выглядит дороговато.

Недостаток авторского решения в отсутствии синтаксической подсветки лямбд (стринга и стринга), но в случае изменения интерпретатора придётся и вовсе патчить плагин IDE, чтобы он тоже понимал такие выкрутасы… Хотя по производительности и правда гораздо дешевле
Sign up to leave a comment.

Articles