Макросы на MoonScript

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

Макросы на 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
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Макросы на moonscript

Post by John Doe »

Latest post of the previous page:

SQLite может и не будет никогда, хотя бы потому что никто не запрашивал, и на форуме пока толком не обсуждалось.

А вот LPeg уже доступен, но только после команды require"moonscript".
Если мне (например) понадобился только LPeg, то в нагрузку я получу и moonscript, что не очень естественно.

И что если я хочу подключить сторонний модуль LPeg: есть ли подводные камни (знаю что 0.10 и 0.12 несовместимы)?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: Макросы на moonscript

Post by Shmuel »

Я запрашивал SQLite, давным давно, неохота сейчас искать в форуме.

Подводные камни будут, если сторонний LPeg будет < 0.10 или == 0.11.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Макросы на moonscript

Post by John Doe »

Shmuel wrote:Подводные камни будут, если сторонний LPeg будет < 0.10 или == 0.11.
Как я понимаю, если попытаться грузить LPeg после moonscript то просто ничего не произойдёт: загрузчик вернёт таблицу ранее загруженного модуля.
А если наоборот, грузить moonscript после LPeg?
Невозможно принудительно заставить Moonscript использовать свой "внутренний" LPeg?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: Макросы на moonscript

Post by Shmuel »

John Doe wrote:Невозможно принудительно заставить Moonscript использовать свой "внутренний" LPeg?
Всё возможно. Только это на данном начальном этапе не самые актуальные вопросы.
Лучше сделать LPeg отдельно, да. Мне только не очень нравится всё ложить в %farhome%.
fml2
Posts: 534
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 2 times
Been thanked: 8 times

Re: Макросы на moonscript

Post by fml2 »

zg wrote:а вы первый пост совсем-совсем не читали, да?
Прочитал, но неправильно понял.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Макросы на moonscript

Post by zg »

John Doe wrote:А вот LPeg уже доступен, но только после команды require"moonscript".
Если мне (например) понадобился только LPeg, то в нагрузку я получу и moonscript, что не очень естественно.
какие реально это вызывает проблемы?
И что если я хочу подключить сторонний модуль LPeg: есть ли подводные камни (знаю что 0.10 и 0.12 несовместимы)?
0.10 совместима со всеми предыдущими версиями и вроде нет никаких причин использовать что-то раннее. 0.11 несовместима с 0.10. по этой причине 0.12 переименована в lpeg2 и может использоваться совместно с 0.10.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Макросы на moonscript

Post by John Doe »

zg wrote:
John Doe wrote:Если мне (например) понадобился только LPeg, то в нагрузку я получу и moonscript, что не очень естественно.
какие реально это вызывает проблемы?
Если в скрипте требуется LPeg, то естественно писать require"lpeg", а не require"moonscript".
Других проблем нет.
User avatar
Wave
Posts: 1885
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 14 times
Been thanked: 26 times

Re: Макросы на moonscript

Post by Wave »

А можно в двух словах для тех кто не в теме, что этот мунскрипт может такого? В смысле, чем он принципиально мощнее луа, например?
P.s. бёглым взглядом, правда, вижу объектную ориентированность… Размышляю, так ли она нужна в макросах?
Пользуюсь ФАРом больше 20 лет © собирательный.
User avatar
zg
zero-gravity
Posts: 6015
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Re: Макросы на moonscript

Post by zg »

John Doe wrote:
zg wrote:какие реально это вызывает проблемы?
Если в скрипте требуется LPeg, то естественно писать require"lpeg", а не require"moonscript".
Других проблем нет.
вот поэтому не надо извращаться и грузить всё сразу при старте. у меня require"moonscript" выполняется за 8-9 мс. и что-то сомнительно мне, что со всякими проверками, разделением и т.д. оно в среднем станет заметно быстрее. при этом менее удобнее.
Wave wrote:А можно в двух словах для тех кто не в теме, что этот мунскрипт может такого? В смысле, чем он принципиально мощнее луа, например?
аналог coffeescript для lua.
Wave wrote:P.s. бёглым взглядом, правда, вижу объектную ориентированность… Размышляю, так ли она нужна в макросах?
кому-то нужна. плюс поддержка добавляется практически бесплатно. т.е. все биндинги к фар апи работают сразу, строки сразу нормальные, всё выполняется в той же вм, глобальные переменные доступны друг другу. почему бы нахаляву не иметь два языка вместо одного?
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: Макросы на moonscript

Post by Shmuel »

Поддержка MoonScript уже есть "из коробки", то-есть не нужен дополнительный загрузчик, и можно сразу писать макросы и события на MoonScript в файлах *.moon.

Пока сделал загрузку MoonScript безусловной, дальше посмотрим.
gotar
Posts: 412
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 17 times
Been thanked: 3 times

Где брать moonscript.chm?

Post by gotar »

Не нашел moonscript.chm
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: Где брать moonscript.chm?

Post by Shmuel »

Я тоже не нашёл. Но можно читать на сайте.
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Макросы на MoonScript

Post by John Doe »

Сделал шапку, исправьте если что не так.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

Re: Макросы на MoonScript

Post by Shmuel »

В предпоследнем предложении "из" лишнее.
User avatar
SUSim
Posts: 1633
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 9 times
Been thanked: 25 times

Re: Макросы на MoonScript

Post by SUSim »

Хелп offfline нужен обязательно! Пусть, хоть на первых порах, будут перекомпилированные в CHM ссылки из заголовка!
SimSU ··· ·· -- ··· ··-
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

Re: Макросы на MoonScript

Post by John Doe »

Интересно а что вы предполагаете на вторых порах :-)
А так - кому нужен скачивает по ссылкам. Как и мануал Lua, кстати.
Если кто соберётся в CHM скомпилировать - милости просим, выложим в шапке.
https://t.me/FarManager — Telegram чат
Post Reply

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