Макросы на MoonScript

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

Макросы на MoonScript

Post by John Doe » Sun 20 Apr, 2014 23:49

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

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

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

Онлайн-компилятор тут: http://moonscript.org/compiler/

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Tue 22 Apr, 2014 09:26

Latest post of the previous page:

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

Подводные камни будут, если сторонний LPeg будет < 0.10 или == 0.11.

User avatar
John Doe
Бюрократ
Posts: 11415
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Tue 22 Apr, 2014 09:32

Shmuel wrote:Подводные камни будут, если сторонний LPeg будет < 0.10 или == 0.11.
Как я понимаю, если попытаться грузить LPeg после moonscript то просто ничего не произойдёт: загрузчик вернёт таблицу ранее загруженного модуля.
А если наоборот, грузить moonscript после LPeg?
Невозможно принудительно заставить Moonscript использовать свой "внутренний" LPeg?

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Tue 22 Apr, 2014 09:36

John Doe wrote:Невозможно принудительно заставить Moonscript использовать свой "внутренний" LPeg?
Всё возможно. Только это на данном начальном этапе не самые актуальные вопросы.
Лучше сделать LPeg отдельно, да. Мне только не очень нравится всё ложить в %farhome%.

fml2
Posts: 490
Joined: Mon 09 Jul, 2012 22:10
Has thanked: 1 time
Been thanked: 5 times

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

Post by fml2 » Tue 22 Apr, 2014 09:49

zg wrote:а вы первый пост совсем-совсем не читали, да?
Прочитал, но неправильно понял.

User avatar
zg
zero-gravity
Posts: 5310
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 47 times
Contact:

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

Post by zg » Tue 22 Apr, 2014 11:49

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: 11415
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Tue 22 Apr, 2014 11:59

zg wrote:
John Doe wrote:Если мне (например) понадобился только LPeg, то в нагрузку я получу и moonscript, что не очень естественно.
какие реально это вызывает проблемы?
Если в скрипте требуется LPeg, то естественно писать require"lpeg", а не require"moonscript".
Других проблем нет.

User avatar
Wave
Posts: 1721
Joined: Thu 04 Aug, 2005 18:47
Has thanked: 2 times
Been thanked: 10 times

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

Post by Wave » Tue 22 Apr, 2014 12:12

А можно в двух словах для тех кто не в теме, что этот мунскрипт может такого? В смысле, чем он принципиально мощнее луа, например?
P.s. бёглым взглядом, правда, вижу объектную ориентированность… Размышляю, так ли она нужна в макросах?
Пользуюсь ФАРом больше 15 лет © собирательный.

User avatar
zg
zero-gravity
Posts: 5310
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 47 times
Contact:

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

Post by zg » Tue 22 Apr, 2014 12:47

John Doe wrote:
zg wrote:какие реально это вызывает проблемы?
Если в скрипте требуется LPeg, то естественно писать require"lpeg", а не require"moonscript".
Других проблем нет.
вот поэтому не надо извращаться и грузить всё сразу при старте. у меня require"moonscript" выполняется за 8-9 мс. и что-то сомнительно мне, что со всякими проверками, разделением и т.д. оно в среднем станет заметно быстрее. при этом менее удобнее.
Wave wrote:А можно в двух словах для тех кто не в теме, что этот мунскрипт может такого? В смысле, чем он принципиально мощнее луа, например?
аналог coffeescript для lua.
Wave wrote:P.s. бёглым взглядом, правда, вижу объектную ориентированность… Размышляю, так ли она нужна в макросах?
кому-то нужна. плюс поддержка добавляется практически бесплатно. т.е. все биндинги к фар апи работают сразу, строки сразу нормальные, всё выполняется в той же вм, глобальные переменные доступны друг другу. почему бы нахаляву не иметь два языка вместо одного?

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Tue 22 Apr, 2014 23:31

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

Пока сделал загрузку MoonScript безусловной, дальше посмотрим.

gotar
Posts: 296
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 8 times

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

Post by gotar » Sun 27 Apr, 2014 09:21

Не нашел moonscript.chm

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Sun 27 Apr, 2014 12:44

Я тоже не нашёл. Но можно читать на сайте.

User avatar
John Doe
Бюрократ
Posts: 11415
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Mon 28 Apr, 2014 09:25

Сделал шапку, исправьте если что не так.

Shmuel
Posts: 5230
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 16 times
Been thanked: 151 times

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

Post by Shmuel » Mon 28 Apr, 2014 09:35

В предпоследнем предложении "из" лишнее.

User avatar
SUSim
Posts: 1479
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 4 times
Been thanked: 4 times

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

Post by SUSim » Mon 28 Apr, 2014 16:04

Хелп offfline нужен обязательно! Пусть, хоть на первых порах, будут перекомпилированные в CHM ссылки из заголовка!
SimSU ··· ·· -- ··· ··-

User avatar
John Doe
Бюрократ
Posts: 11415
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 17 times
Been thanked: 101 times

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

Post by John Doe » Mon 28 Apr, 2014 16:12

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

User avatar
SUSim
Posts: 1479
Joined: Thu 18 Feb, 2010 17:32
Has thanked: 4 times
Been thanked: 4 times

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

Post by SUSim » Mon 28 Apr, 2014 16:24

По ссылке то я скачал... но htm неудобно...и хочется нормальный индекс и поиск. (я думаю для знающих это очень просто сделать)
А, вовторых я попросил бы русский :whistle:
SimSU ··· ·· -- ··· ··-

User avatar
zg
zero-gravity
Posts: 5310
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 47 times
Contact:

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

Post by zg » Sun 11 May, 2014 00:12

вот такой макрос вызывает ошибку в фаре:

Code: Select all

C:\Program Files\far\Plugins\luamacro\moonscript.lua:677: too many pending calls/choices
официальный moon.exe выполняет без проблем.
update: lpeg.dll с luapower тоже не имеет вышеуказанной проблемы.
Attachments
test2.moon.7z
(184 Bytes) Downloaded 53 times

Post Reply

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