Макросы на MoonScript

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 13402
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 55 times
Been thanked: 358 times

Макросы на MoonScript

Post by John Doe »

Начиная с билда 3878 Far 3 поддерживает в макросах MoonScript — язык программирования, транслируемый в Lua.
Это позволяет писать более компактный и хорошо читаемый код (то же самое для JavaScript делает CoffeeScript).

Документация по языку: Плагин LuaMacro автоматически загружает как *.lua, так и *.moon файлы.
Поддерживается также выполнение moon-скриптов из командной строки, см. документацию.

В дистрибутиве на официальном сайте дополнительно присутствуют утилиты moon.exe и moonc.exe (пример использования см. тут)

Онлайн-компилятор тут: http://moonscript.org/compiler/
User avatar
zg
zero-gravity
Posts: 5928
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 173 times
Contact:

Макросы на MoonScript

Post by zg »

Latest post of the previous page:

HaRT wrote: Sun 08 Jan, 2023 19:09Если бы прикручивание Teal к Фару позволило производить статический анализ типов в его скриптах (а также частично в скриптах на Луа), это само по себе было бы уже полезно для их разработки. Но оправданно это будет только при наличии раскраски синтаксиса и полноценной работе LuaCheck.
не очень понимаю, о чём вы.
User avatar
HaRT
Moderator
Posts: 10333
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 176 times
Been thanked: 313 times

Макросы на MoonScript

Post by HaRT »

zg wrote: Sun 08 Jan, 2023 20:42 не очень понимаю, о чём вы
Про раскраску синтаксиса (файлов *.tl) как важное условие их комфортного написания, уверен, понятно. Про полноценную работу LuaCheck в таких файлах (хотя бы на том же уровне, что в MoonScript), надеюсь, тоже. Что же осталось непонятным? Попытаюсь додумать за вас.
Мне видится, что когда загрузчик и инструментарий Teal интегрированы в Фар, становится возможным такой сценарий: я написал скрипт на Teal (с раскраской синтаксиса), могу проверить его посредством LuaCheck, а также могу проверить статическое соответствие типов в скрипте (tl check). Для этого, вероятно, придётся прописать аннотации типов для FAR API. Желательно также, чтобы соответствие типов проверялось (хотя бы опционально) при загрузке Teal-скриптов плагином LuaMacro.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
zg
zero-gravity
Posts: 5928
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 173 times
Contact:

Макросы на MoonScript

Post by zg »

ваше акцент на раскраске меня пугает. добавить поддержку в luacheck тоже не сложно.
НО! я не очень понимаю пользу от всего этого в рамках фара. вся эта проверка типов возможно хорошо работает на больших проектах. у меня самый большой проект, который я использую — editorsettingscore. примерно 1000 строк. и вроде как там есть настройки, где типы teal были бы полезны, но мне лаконичность мунскрипта важнее строгости teal. нет там какой-то супер сложности, которая замедляет поиск ошибок. поэтому пока это всё выглядит, как прикольная теоретическая штука. надеюсь, что ошибаюсь.
User avatar
HaRT
Moderator
Posts: 10333
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 176 times
Been thanked: 313 times

Макросы на MoonScript

Post by HaRT »

zg wrote: Mon 09 Jan, 2023 16:34 у меня самый большой проект, который я использую — editorsettingscore. примерно 1000 строк. и вроде как там есть настройки, где типы teal были бы полезны, но мне лаконичность мунскрипта важнее строгости teal. нет там какой-то супер сложности, которая замедляет поиск ошибок.
Есть у людей скрипты для Фара и подлиннее (сложнее ли, судить не берусь). И да, у разных программистов разные предпочтения. Я, например, больше люблю, чтобы потенциальные ошибки за меня выявил инструмент, нежели потом их обнаруживать самому, находить и исправлять, даже если это не слишком сложно. И для меня дело даже не столько в скорости поиска/исправления ошибок, сколько в комфортности этого процесса.
zg wrote: Mon 09 Jan, 2023 16:34 мне лаконичность мунскрипта важнее
Да, я её тоже оценил, хотя в последнее время изругался на престранные правила не-/разбиения выражения на строки (а также удивился непоследовательности в не-/трактовке присваивания как выражения). Вот если бы Yue это улучшал, для меня это было бы уже достаточной причиной для его внедрения. (Я про Yue пока прочитал явно недостаточно, чтобы определиться.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Обсуждение макросов”