@ProLua

Страница 53 из 307
Snusmumriken
20.02.2017
10:18:35
Ну не скажи. Батарейка живёт от sleep'а к sleep'у : ) Просто одно действие занимает не 0.0002с, а 0.002с, что, конечно, в сто раз медленнее, но зато после этого будет sleep на пол минуты. Тут частота опроса важна. Если у тебя огромная логика, то проще луи и флешку, ибо на сях замучаешься катать что-то похожее например на веб-сервер (панель управления домашней фигнёй в умном доме, хотя это можно накатать на малине).

Мерлин
20.02.2017
10:19:14
Извините, но скриптование на МК, особенно на 8-битных, должно умереть. Там и так можно порушить мир кучей неочевидных способов, давайте блин туда ещё и динамические языки тащить

Snusmumriken
20.02.2017
10:19:38
Чем предлагаешь заменить ЦАПы, например? Может ещё и ГПУ должны умереть, потому что куча неочевидных способов? : )

Google
Snusmumriken
20.02.2017
10:20:36
А, ты про то. Динамический язык почти перестаёт быть динамическим с jit'ом. Сахарные либы уменьшают неочевидность. Выбирай свою пилюлю.

Мерлин
20.02.2017
10:22:40
Лучше бы туда rust или d портировали нормально
А то обмажутся своим скриптоёбством, а потом делают sleep через бесконечный цикл и двести аллокаций на установку бита в порту

Snusmumriken
20.02.2017
10:23:04
Говнокодерство может быть в любом языке. На сишке, вот, говнокодеры тоже бесконечные циклы довольно активно использовали.

Мерлин
20.02.2017
10:23:15
И так ардуино подгадило. хотя у них ещё прилично более-менее

Snusmumriken
20.02.2017
10:24:23
Твои претензии не к выбранному инструменту, а к тому, что после скриптов, народ делает очень неоптимизированные решения там, где это не подходит, просто потому что не знают как иначе, ибо не умеют в лоулевел.

Мерлин
20.02.2017
10:25:55
Лучше бы туда rust или d портировали нормально
видите ли Си им сложна. А вот отлаживать скриптопарашу через принты в uart - терминал(sic!) им не сложно

Snusmumriken
20.02.2017
10:26:22
Ну щито поделать, кстати чистая си - это просто. Школьники тащат, сам с них начинал ))) int i=8, a1, a2; for (a1=a2=1; i>2; a1=(a2+=a1)-a1) i--;

Плюшка
20.02.2017
10:27:21
И так ардуино подгадило. хотя у них ещё прилично более-менее
ну хз, на nano с 16 или 32 кб (не помню) памяти около 50% свободно было (причем 2 для загрузчика + использовал некоторые адафрутовские либы для общения с дисплеем)

Snusmumriken
20.02.2017
10:28:17
ну хз, на nano с 16 или 32 кб (не помню) памяти около 50% свободно было (причем 2 для загрузчика + использовал некоторые адафрутовские либы для общения с дисплеем)
Нанка вообще предназначена для снимания показаний с датчиков и отправкой выше, мб с прицепленным дисплеем. Ну, такая у неё целевая ниша.

Tverd
20.02.2017
10:28:46
Я конечно влазию, но вставки на асме https://luajit.org/dynasm.html

Мерлин
20.02.2017
10:28:49
ну хз, на nano с 16 или 32 кб (не помню) памяти около 50% свободно было (причем 2 для загрузчика + использовал некоторые адафрутовские либы для общения с дисплеем)
Ну у них всё таки хватило ума использовать адекватный компилятор На самом деле большинство претензий - к их стандартной библиотеке, которая жертвует всем в пользу переносимости.

Google
Snusmumriken
20.02.2017
10:29:27
Я конечно влазию, но вставки на асме https://luajit.org/dynasm.html
Оно просто динамически компилирует луа => сишка => асм. Там связка tiny c compiler + dynasm. Пользовательских вставок нема.

Tverd
20.02.2017
10:30:19
щас, я вроде где-то видел

https://luapower.com/dynasm это не оно? я сильно не влазил

Snusmumriken
20.02.2017
10:35:10
О да, это оно. Правда, тут должен быть препроцессор. Ну, ты и сам видишь, что скрипты запускаются в другом скрипте, который их парсит и выполняет ffi-инструкции. Хм, кажись такое есть : )

Tverd
20.02.2017
10:35:13
local dynasm = require'dynasm' local gencode, actions = dynasm.loadstring([[ local ffi = require'ffi' local dasm = require'dasm' |.arch x86 |.actionlist actions local function gencode(Dst) | mov ax, bx end return gencode, actions ]])()

да, но хоть какие-никакие а вставки

уже, если кому-то это надо, можно извращаться

Snusmumriken
20.02.2017
10:36:01
Ехехехе, о боже мой, убейте меня : ) Пойду катать ОС.

Tverd
20.02.2017
10:41:06
Гхм, насчет ос... https://github.com/jvburnes/node9

?

Group Butler [beta]
20.02.2017
21:28:58
Добро пожаловать в чат pro.lua, Vania! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Добро пожаловать в чат pro.lua, Честный! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Добро пожаловать в чат pro.lua, Vladimir! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Добро пожаловать в чат pro.lua, Samarra! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Tverd
22.02.2017
06:27:22
привет пришедшим )

Snusmumriken
22.02.2017
12:11:43
Хех, дворецкий создаёт впечатление движухи, из-за кучи уведомлений.

Tverd
22.02.2017
12:19:03
Ну люди приходят, значит уже движуха )))

Group Butler [beta]
23.02.2017
14:01:49
Добро пожаловать в чат pro.lua, Random! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Random
23.02.2017
14:02:09
привет дворецкому

Group Butler [beta]
23.02.2017
15:09:21
Добро пожаловать в чат pro.lua, Ruslan! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Google
Snusmumriken
25.02.2017
09:38:31


yegorf1
25.02.2017
09:38:57
Есть telegram-cli

Зачем ты везде суешь лавку то, господи

Snusmumriken
25.02.2017
09:40:07
Эм. Мне немножко нужен бот внутри моих луашных херовин, а ля "Милорд, системы %s и %s упали! Соизвольте починить!"

Я не просто так делаю, так что так.

yegorf1
25.02.2017
09:40:49
Ну telegram-cli

Там есть поддержка луа и ботов

Snusmumriken
25.02.2017
09:41:24
Хех, как он узнает, что какая-то моя луашная фиговина упала? Хотя да, можно у бота открыть сокет и ждать ещё и входящей фигни от систем. Но у меня особая хитрая специфика.

yegorf1
25.02.2017
09:42:03
Телеграм кли может хостить веб сервак локальный

Куда ты просто шлешь нужную дату

Snusmumriken
25.02.2017
09:42:32
Ну, я говорил примерно про то же, да. Но зачем, когда можно обойтись без посредников? )))

yegorf1
25.02.2017
09:42:45
затем что это костыли твои)

Snusmumriken
25.02.2017
09:44:01


Да, лямбда для приёма каждого сообщения. И ffi-перевод char* в строку, потому что это - ffi-биндинг сишной либы. Он работает, хоть и без сахара. И даже для того чтобы получить принятые данные, нужно лезть в ffi. Кстати, возрадуйся пропускам между блоками и отсутствию жутких однострочников : )

Tverd
25.02.2017
09:54:27
На Мунскрипте было бы интереснее, как мне думается )

Snusmumriken
25.02.2017
09:56:02
Там на выходе генерируется кошмар, и я избегаю препроцессоров :< Мунскрипт работает если есть мунскрипт, а луа работает и с мунскриптом и без него. Хотя на практике, я могу сделать комплект хендлеров, которые подключаются через препроцессор или без него.

Tverd
25.02.2017
09:57:26
На выходе, конечно да ))) Но исходник как по мне лучше читается... хотя дело привычки

Snusmumriken
25.02.2017
10:11:47
Ну, просто у меня отношение к препроцессорам как к замедляющей фигне, необходимой только в узких случаях : ) Ну, имхо, это всё равно что городить большую пирамидку из препроцессоров. С тем же успехом, можно запускать в браузере vmware, скомпилированное в asm.js (native client), внутри которой открывать браузер, в котором открывать фотошоп, скомпилированный в asm.js. Это, конечно, кидание из крайности в крайность, но щито поделать, я и так использую две прослойки между железом (c-виртуалка lua-код). Примерно по той же причине я не ставлю моды на игры.

Тут, конечно, много смехуёчков не по делу, но товарищ значительно умнее (эрудиция + логика) основной целевой аудитории жаваскрипта. И тут как раз примеры длинных цепочек запуска десктопных приложений, запущенных в браузере через компиляторы С в JS, начиная с 11:50. https://vk.com/video3209020_168239546

Tverd
25.02.2017
10:29:13
Да, весело рассказывает )

Google
Group Butler [beta]
26.02.2017
08:50:48
Добро пожаловать в чат pro.lua, Kon! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Kon
26.02.2017
08:51:37
Snusmumriken
26.02.2017
15:57:17
Дворецкий более приветлив чем общество : 3

Admin
ERROR: S client not available

Wyldstyle
27.02.2017
07:30:07
?

И тебе не хворать. А почему ты в бете? Вроде уже давно стабильный и распространился
Есть и стабильный. Но бота же обновляют и фичи добавляют. Поэтому бета остаётся бетой

Group Butler [beta]
27.02.2017
14:30:06
Добро пожаловать в чат pro.lua, Anton! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

The Dude
27.02.2017
16:36:29
Дворецкий более приветлив чем общество : 3
Готов приветствовать каждого вошедшего? :)

Group Butler [beta]
27.02.2017
22:14:16
Добро пожаловать в чат pro.lua, Vlad! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Alex
28.02.2017
14:42:58
Чот дворецкий примолк.

Добро пожаловать в чат pro.lua! Ознакомься с правилами чата (в описании и прикрепленном сообщении), и присоединяйся к обсуждению.

Мерлин
28.02.2017
15:23:07
Приглашаем на Lua in Moscow 2017 5 марта http://bit.ly/2m2Yyzw

Tverd
28.02.2017
16:20:39
эх... делековато

Мерлин
28.02.2017
16:34:09
Неа

(

The Dude
28.02.2017
16:57:59
Создавать идеальные условия для работы и профессионального рост

IPONWEB

Прямо интересно что там идеального придумал:)

Random
28.02.2017
16:58:56
эх... делековато
был бы смысл

Google
Tverd
28.02.2017
16:59:39
ради интереса, может что новое нашел бы

The Dude
28.02.2017
17:02:26
был бы смысл
Пожать руку Иерусалимски?

Random
28.02.2017
17:03:41
это как?) но вообще да - я про пьянку после забыл)

The Dude
28.02.2017
17:08:14
Интересно, мэйл приглашали Майка :)

Snusmumriken
28.02.2017
20:12:12
Хех, можно спросить Роберто на тему что он думает про луаджит лично :3

Tverd
28.02.2017
20:13:17
Кстати, а корутины есть более быстрые, чем встроенные в луа?

а то легче функцию вызвать, чем продолжить корутину

Snusmumriken
28.02.2017
22:21:19
Корутины имхо больше похожи на лямбды: в корутине, например, бесконечный цикл и состояние. Но да, обычные маленькие функции имхо более актуальны, а для всякой асинхронщины - просто выставляем все таймауты в ноль: пока что не пришло - рыпаемся и сразу проверяем что-то следующее. Что-то истинно синхронное (вроде io.read) не получится сделать асинхронным на корутинах, уж тут придётся лепить многопоточность.

В целом, на корутинах делают всякие диспетчеры, выполняющие идентичную или почти идентичную работу: https://www.lua.org/pil/9.4.html В некоторых случаях это чутка быстрее чем, например, ждать пока загрузится каждый файл в очереди. Типа елдим корутину до тех пор, пока что-то не придет на сокет.

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

Alexander
01.03.2017
09:22:08
у меня в гуи на луа сделаны три ветки выполнения: корутина и отдельный posix-поток 1) основной поток принимает нажатия от кнопок и принимает решение о действиях 2) корутина обновляет часы и принимает фоновую информацию от потока и датчиков 3) поток занимается потенциально долгими блокирующими операциями, в первую очередь сетевым обменом. Если я правильно понимаю механизм корутин, то блокировка в корутине по вызову синхронного ввода/вывода приведет к блокировке всего приложения. поэтому и вынес в поток.

Snusmumriken
01.03.2017
09:23:58
Мог бы вынести в обычную функцию :3 Где хороши корутины - в сложных функциях, где нужно несколько раз елдить. Но не знаю, поддерживают ли луа-корутины эту штуку. Насколько я знаю - да. Но технически, корутина - это такой goto между функциями, в красивой оболочке.

Страница 53 из 307