
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
Чем предлагаешь заменить ЦАПы, например?
Может ещё и ГПУ должны умереть, потому что куча неочевидных способов? : )

Мерлин
20.02.2017
10:20:07

Google

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

Мерлин
20.02.2017
10:22:40

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

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:26:52

Плюшка
20.02.2017
10:27:21

Snusmumriken
20.02.2017
10:28:17

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

Мерлин
20.02.2017
10:28:49

Google

Snusmumriken
20.02.2017
10:29:27

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

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
эх... делековато

Ruslan
28.02.2017
16:32:37

Мерлин
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 между функциями, в красивой оболочке.