Чтобы добавлять сообщения и комментарии, .

@drvlat:
drvlat

А на lua написано что нибудь более-менее серьезное?

@ndtimofeev:
ndtimofeev

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

@Balancer:
Balancer

Наверное, стреляю в ногу, но не пойму, почему в lua так работает:

local sda, scl = 2,1
i2c.setup(0, sda, scl, i2c.SLOW)

а так — нет:

i2c.setup(0, 2, 1, i2c.SLOW)

Это в продолжение http://juick.com/Balancer/2817867#14

Ни ошибки, ничего. Просто перестаёт работать i2c. Чуть голову не сломал, пока не понял, почему у меня в какой-то ситуации железка перестаёт работать :)

@Balancer:
Balancer

Вот вы тут всё на квалификацию PHP-программистов наезжаете. А я сейчас по Lua-форумам роюсь. Так народ искренне не понимает, как можно инкрементировать переменную, если в языке нет оператора «++» o_O При чём встретил это три раза :D

@sagax:
sagax

*love2d удивляюсь, в фреймворке love основа работы это обратные вызовы. оно и понятно, нажал кнопку — обратный вызов идет и за ним следует реакция парадигма обратных вызовов не нова прямо скажем но черт, как это работало в NES/FAMICON где игры писались на ассемблере? я очень удивлен, вряд ли в программах на ассемблере кто-то говорил об обратных вызовах.

@Zert:
Zert

Очень неплохая и удобная замена пхп

@Zert:
Zert

Очень ок, пропоную.

@reflechant:
reflechant

Роберту прям как Билл Гейтс в своё время: "64-битного double хватит всем".
Притом последний Lua можно собрать как 64-bit, так и 32-bit и к Lua прикручено уже несколько библиотек длинной арифметики, арифметики произвольной точности и пр.

@reflechant:
reflechant

<вброс>
Нормальные coroutines в Lua появились 12 лет назад.

@Linda-chan:
Linda-chan

Неожиданно приобщаюсь к Lua.

@fillest:
fillest

срочно в номер (популярного журнала "Zero Fucks Daily"): freelists.org Мишаня отходит от мейнтейна LuaJIT и передаёт проект CloudFlare'у.

С одной стороны это, конечно, говно, потому что таких чуваков в мире можно пересчитать по пальцам. С другой, проект наверняка наконец нормально выложат на гитхаб, понизят трение и всё такое.
Но про охуительный gc, который он планировал сделать, можно забыть (надолго, по крайней мере).

@thefish:
thefish

Пользуясь случаем — посоветуйте что прочитать по LUA, чтобы не писать write-only код.

@Zert:
Zert

Отладка кодогенератора с кучей логики из dsl в lua: <1 часа. Отладка функций, используемых в нагенеренном коде на lua: пиздец.

@Zert:
Zert

Lua вообще не погано, оказывается. Всего-то нужно было написать немного функций из Prelude и Data.List.

@SannySanoff:
SannySanoff

Кармак мог бы наверное и LUA взять 8))

groups.google.com

@kusayu:
kusayu

Не, я конечно догадывался, что ООП в Lua через таблицы можно реализовать, но чтобы так симпатично…

local class = require 'middleclass'
Test = class('Test')

function Test:initialize(x,y)
	self.x = x
	self.y = y
end

local p = Test:new(1,2)
print(p.x)
print(p.y)

>1
>2

@6Volt:
6Volt

интересная задумка , github.com

@reflechant:
reflechant

Lua 5.2.3 (2013 год) собирается из коробки под TurboC++ 1.0 (1990 год)
youtu.be

@max630:
max630

скажите, а с int64 можно в lua работать? в сишке там есть pushinteger и что-то для взятия которое вроде может оперировать с int64 (если железо и ось 64-битные). Как это из самого lua выглядит? Сейчас негде попробовать.

@6Volt:
6Volt

seclists.org

@Shchvova:
Shchvova

тупой вопрос. Как из луа кода получить первый ключ таблицы? В цапи это будет lua_pushnil(L); lua_next(L, t); (сейчас в -2 на стеке первый ключ); lua_pop(2);

@Shchvova:
Shchvova

что-то на хабре начало появлятся много годных статей о графике. Есть пару очень годных входного уровня, где чувак пишет софтварный рендерер на С++, очень простой рендерер (ч1 ч2). Не скажу что чувак прям годноту какноничную крошит, но читается легко. Потому решил написать свой рендерер с блекджеком и шлюхами :) Ну, типа вместо статического пайплайна как у него сделать "шейдеры" на Lua =) Вот так и упарываюсь когда просыпаюсь в 6 утра.
(я надеюсь все понимают что абсолютно никакого практического применения нет у этого, джаст фо фан)

@Shchvova:
Shchvova

кому надо нода, если есть луа! luvit.io

@6Volt:
6Volt

Гоните в шею идиотов тащащих стереотипы в массы(типо меня лал).
Уже пару лет я как лах прохожу мимо отечественного поделки известным как язык графического програмирования ДРАКОН(щаз надо сказать WOW!1) , а точнее визуальному кодогенератору дракон-луа.
Он простой как 3 рубля , написан на тикле и , легковесен и Public Domain.
Из минусов — в нём нихуя нет и хорошей вики тоже изза воды которую так любят русичи вместо конкретики.
многих вещей нет да и инлайнить код — неок.
Хотя блок схема астар включая демку обходиццо в 17кб человекочитаемого пиздеца
Сюдаб :
Добавить макросы
Области видимости
ввод/вывод/двунаправленность(реализовать замыкания овер инаут-поля)
Типы языка
Метатаблицы(в том числе debug.set — getmetatable)
конструктор varargs и няшки вокруг next
Userdata и песни о нём .
Риквайр или Получение структур модуля(отлов если риквайр возвращает таблицу в _G и/или если мудоль возвращает хэльп или тупо флаг true )(за это кстати надо ножь в анус вбивать)
базовые конструкции языка(кэйс на таблицах , корутинах и стандартный)
ER-модели для таблиц луа(иногда надо)
Наиболее применимые алгоритмы(конечные автоматы , отладчик регкспов ,конструктор грамматик(яцц , пег) , рекурсия , говнецо из функционалки , проверка на nil , конструктор тэстов)
Поля-значения с пропами локал и глобал.
блоки.(благо они в языке лаконичны и хороши почти )
сишнотипы.
0-index arrays на базе типа string (я люблю делать через жопу)
Батарейки из репок коттмана , луарокс , луапауер в качестве модулей.
текстовый редактор типа scintilla с грамотным автокомплитом — для постообработки.
системы контроля версий.
Дебаггер визуальный и для просмотра состояния стэка/
кучи через луабхэп
многопоточка
И привыкший иногда к лабвью лах as me будет счастлив
PS: и переименовать нахуй.

@Zert:
Zert

Генерю из гуглодоков питоном Lua-код для того, чтобы выполнять его в ерланге. Такой день.

@byt3:
byt3

В чем кодите lua? Какие плагины посоветуете?

@6Volt:
6Volt

C/invoke Даже удобнее чем libffi. Няшная штука.

@6Volt:
6Volt

Кто знает где нарыть пак рекапчи для тренировки нейросетки? интерес чисто академический — хочу погонять luampl на практике. Есть чо?

@Shchvova:
Shchvova

Посмотрела, а в Lua 5.3 добавили целые (64 bit integers). Куда катится мир?

@ndtimofeev:
ndtimofeev

Переписал компилятор и RTS так чтобы в качестве infotable'ов использовались метатаблицы лунного. Теперь, используя debug.setmetatable, можно представлять функции в виде... функций (а не в виде таблицы со амилками на infotable и функцию). Использование этого хака позволяет генерировать код выполняющийся на 9-11% быстрее. Не плохо наверное, но я ждал больше. Давно хочу примерно также хакнуть и алгебраические типы (что для арифметики даст что-то вроде тотального анбоксинга), но без объявления ADT'ов такое не провернуть, а в stg её нет.

@Strephil:
Strephil

Я правильно понимаю, что в GNU главным скриптовым языком сделан guile, а не python и не lua, чтобы кому-нибудь случайно не пришло в голову этим воспользоваться? чтобы было сразу видно, что пользоваться этим не нужно?

@ndtimofeev:
ndtimofeev

А есть какой-нибудь способ указать интерпритатору лунного что стандартный вывод находится в выбранном тобой файле?

@ndtimofeev:
ndtimofeev

Я правильно понял что корутины в лунном это такие зеленотреды, где вместо шедулера пашешь ты сам?

@ndtimofeev:
ndtimofeev

А в лунном оптимизируется только хвостовая рекурсия или любой хвостовой вызов?

@4DA:
4DA

Бля, луа просто охуенно. Все сделано очень просто и красиво.

Единственная проблема тут в том, что говноплюсы не умеют в нормальные замыкания.

@ndtimofeev:
ndtimofeev

Расскажу небольшой анекдот перед отъездом. Решил я от отчаяния уменьшить в нескольких тестах число обновляемых замыканий. Уменьшил. Время выполнения выросло, а число заходов в замыкания — нет. Оказалось что санком быть выгоднее чем протсо функцией без аргументов: при заходе в функцию вычитывается её арность из памяти, выделяется память под аргументы, которые снимаются со стека аргументов, создаются итераторы чтобы перебирать элементы на стеке. А санку достаточно запихнуть свой адрес в апдейт-фрейм и вычислить своё тело. Смешно вышло.

@gour:
gour

почему-то захотел почитать бумажную книжку. про Ada 2012. а потом аодумал и захотел учёбник про Lua.
посмотрел про lua на озоне. 685 р. "ну" — думаю, "недёшево, но побаловать себя можно. дай-ка на библиоглобусе гляну, благо он в квартале от меня. может схожу"... посмотрел в библиоглобусе. 1239р. первая мысль: "да они охуели!". Ну, вторая мысль была примерно такая же.
в общем не стану я у них книжку брать.
тем более что есть хороший правильный ресурс с книжками. хоть и не бумажными. но зато 4free, халяль™ и всё такое.
github.com
вотъ

@ndtimofeev:
ndtimofeev

Запилил совместимость выхлопа компилятора с luajit. На тестах где создаётся много санков и тормозов luajit показал в 3 — 4 раза лучшее время выполнения чем просто lua. Ожидаемо. При этом lua использует процентов на 5% больше памяти в пике чем luajit. Странно.

@ndtimofeev:
ndtimofeev

Что-то у меня возникло недопонимание: локальные переменные захваченные в замыкание вызываются в оном по ссылке или по имени?

@ndtimofeev:
ndtimofeev

kblcb.github.io — Вот ещё один долг. На этот раз @reflechant (#2720146/22) и кому-то ещё. Пост для тех кто не учит лунный, а сразу хреначит на нём код, чтобы они могли не учить его дальше.