mva
Э, а дефолд куда подевался?
ну, они с соларом не такие ширпотребные уже :)
Иван
А есть ли вообще люди, которые луа терпеть не могут? Я знаю, что есть люди, ненавидящие питон, например. Или c++.
Иван
Слуш, а я могу лов натянуть на наш графический движок?)
mva
У love luajit по умолчанию
как соберёшь, емнип
Wsevolod
Когда уже будет луажит на синтаксисе луа 5.4?
Иван
Хотя вряд ли...
mva
авчом смысл
всё больше и больше пакетов пишутся под 5.3+
ベクゾッド
Хотя вряд ли...
Да, я искал такие возможности. Лов не выдает наружу идентификатор дисплея и окна. Нету таких в ловке
Luсky
GitHub - rxi/lite: A lightweight text editor written in Lua https://github.com/rxi/lite
mva
Да, я искал такие возможности. Лов не выдает наружу идентификатор дисплея и окна. Нету таких в ловке
а ничего что не love занимается идентификацией дисплея и окна, а либо иксы, либо, в случае вяленого, оконный менеджер? :)
Luсky
Вот проект, от которого можно оттолкнуться - минимальное сишное ядро
Wsevolod
авчом смысл
Ну вот делаю я либу, и из-за луажит, застрявшего на 5.1, приходится юзать старые битовые операции и держать на машине кучку пакетов специально для 5.1
mva
ну в embedded такого точно нет)))
эмбед эмбеду, на самом деле, рознь
Luсky
GitHub - instead-hub/reinstead: RE:INSTEAD - Lite INSTEAD metaparser-only player https://github.com/instead-hub/reinstead
mva
есть жирнючий эмбед в которм есть :)
Иван
Оооо!! Вопросик!!! А как дела с байтоёбством на Lua? Насколько это удобно?
Иван
Мы байты вечно сжимаем, лишь бы памяти хватило на устройстве
Luсky
тоже минимкльное ядро и пиксели в комплекте.
mva
ну, если без внешних либ
Leon174
GitHub - rxi/lite: A lightweight text editor written in Lua https://github.com/rxi/lite
Lite завял. Lite-xl цветет и пахнет. https://github.com/lite-xl/lite-xl
mva
впрочем, там в 5.2+ вроде bit Из коробки
mva
так что чуть полегче
mva
но когда я писал crypt_sha256 (не сам sha256, ибо он был лишь частью, а именно crypt() (для поролей)) на чистом 5.1 приходилось сдвиги делать умножением
Иван
ага, вижу чё-то есть https://github.com/ivanstepanovftw/lua/blob/6ef366644f7c3c21cfb17434835edf4ebf970d6d/testes/bitwise.lua#L139
Leon174
Не об том речь.
Да понятно. Все равно твоя ссылка почти протухла.
Иван
Луа отстаёт, поднадавите)) Я уже всю обвязку в луа сделал, а руководство до сих пор васм хочет
fgntfg
Не взлетит
Иван
Не взлетит
Ой ну не демотивируй, а)
Иван
Я в курсе, что оно может и не взлететь, но я хочу все силы приложить, что бы взлетело
Иван
Люди, голосующие за wasm3, спросили, зачем в случае "C++, Rust" нужна тюрьма из васма. Некоторые высказали мнение, что "устройство не взлетит, если в нём нельзя поковыряться". Кто-то даже предложил OpenLara портировать на куб: > А почему бы и нет? В GTA 3 на часах играют вон) Почему я всё ещё рассматриваю Lua - потому что в его случае нужно сделать меньше телодвижений, что бы заработал JIT компилятор. В случае с wasm3 такой фокус не прокатит - кто-то уже пытался в десктопном приложении подружить wasm с JIT, но пришлось тащить туда ещё и LLVM компилятор.
fgntfg
Иван
МЫ ЗНАЕМ
Иван
Я луа тащу что бы мы игры хотя бы делали хорошие
fgntfg
Похвально
fgntfg
Игры это хорошо
fgntfg
И lua это хорошо
Snusmumriken
Но на тему сжатия — у луа есть стрингбуфер, если вы активно используете структуры с кей-валуями, строковые ключи имеют единственный инстанс на всю вм. tbl = {} tbk.foo = 10 tbl2 = {} tbl2.foo = 30 var = "foo" Строка foo, работающая ключом в двух табличках и значением переменной, существует в единственном экземпляре в вм.
Иван
https://github.com/iryont/lua-struct
Пиздец) Прикольно
Snusmumriken
struct это стандартная фигня для упаковки данных в строки для сжатия/сериализации/пересылке по сети например, вариации существуют во множестве языков и имеют примерно один формат для стыковки друг с другом.
Highly Likely
Пиздец) Прикольно
Мат разрешен, но крайне не приветствуется
Wsevolod
https://github.com/iryont/lua-struct
Есть же string.pack ._.
Wsevolod
Правда вроде в >5.1
Snusmumriken
Да, во-первых >5.1, во-вторых не совсем тот формат, помнится.
mva
Есть же string.pack ._.
table.pack, вроде, тоже :)
Иван
Мат разрешен, но крайне не приветствуется
У меня эмоции крайне положительные, я же не видел другого кода, кроме как hu |= i & 0x4f
Snusmumriken
У меня эмоции крайне положительные, я же не видел другого кода, кроме как hu |= i & 0x4f
Ну в общем теперь ты знаешь больше. С другой стороны, у struct-подхода нет возможности оперировать отдельными битами, они по прежнему на стороне битопов. Зато ты можешь упаковать сложную фигню в строчку/массив а потом распаковать.
Иван
Есть же string.pack ._.
Так а битоплясок нет?
mva
ещё раз говорю же
Snusmumriken
У 5.3+ есть встроенные битопы, на 5.1 есть либы битопов.
Wsevolod
Так а битоплясок нет?
битопляски до 5.1 — _G.bit, после — операторами
mva
битовый сдвиг это умножение на степени двойки
Snusmumriken
Там ещё нужны энд-ор-ксор для указания конкретных битов.
Иван
битовый сдвиг это умножение на степени двойки
А как это будет выглядеть? struct.pack("<BBB", x,y,z) / 8?
Wsevolod
битовый сдвиг это умножение на степени двойки
сейчас бы ieee754 множить, когда у проца есть быстрая инструкция для сдвига
Snusmumriken
str = struct.pack("asdals>ajlskdja", x,y,z) x, y, z = struct.unpack("asdals>ajlskdja", str) Тут нет конкретных битов, тут есть упаковка. С конкретными битами уже развлекаешься как положено.
mva
сейчас бы ieee754 множить, когда у проца есть быстрая инструкция для сдвига
ну, можно и помножить. Я уже ка-кто рассказывал, что когда я делал crypt_sha256 на pure lua (даже не jit) по официальной спеке у меня оно работало быстрее референсной реализации на C 😃
mva
хотя в С'шной реализации были сдвиги, а у меня умножение :)
Snusmumriken
Что-то странное в датском королевстве
mva
возможно, если порыться, то оно даже тут в логе где-то найдётся
mva
лет N назад
Иван
А возможно ли сделать include файла, без require(), что бы был только один файл? У нас пока нет поддержки файловой системы
mva
што
Иван
Ну, типа есть библиотека, mylib.lua. есть скрипт script.lua, который зависит от mylib.lua. Мне нужно объединить их в один файл, или скомпилировать в один байткод файл
Иван
Ну, нет файловой системы на устройстве
mva
https://code.matthewwild.co.uk/squish
mva
а тут можно сразу скачать: https://matthewwild.co.uk/squish нельзя, там просто пример был
Иван
Скомпилю, я понял что за сайт. Спасибо!
Snusmumriken
Склеиваешь модули в один файл, пихаешь таблички в package.loaded их по нужному имени, реквайришь. Реквайр происходит именно из этой таблички.