EmmyLua, которые приезжают из сторонних библиотек? Что-то типа define-файлов?
в teal это делается через tl.d файлы, но в emmylua ничего такого не нашел
Здравствуйте. Немного не в тему. Вы писали teal обёртку над luafun, мне интересно, довели до рабочего состояния? И есть ли она в открытом доступе?
хм, нет, меня остановило, что teal долго релоадится, а для меня это было важно. Может быть вернусь к этому, пока только совсем зачатки типа: local record fun record iterator<T> sum: function(iterator<number>): number reduce: function<R>(iterator<T>, (function(R, T): R), R): R end iter: function<T>({T}): iterator<T> sum: function({number}): number reduce: function<T,R>({T}, (function(R,T):R), R): R end return fun
Да, компиляция долгая. Я хотел встроить в свой проект какую-нибудь вспомогательную библиотеку в функциональном стиле. Есть moses и luafun. Где-то видел замеры производительности сильно не в сторону moses. Она написана более прямолинейно, а luafun написана с учётом понимания как оптимизирует luajit.
да, luafun хорош, он правда быстрый, но его нужно аккуратно использовать. натыкался на очень неочевидный баг в fun.grep . если функции чистые, или возвращают всегда одинаковое количество аргументов -- он работает предсказуемо
Когда открыл исходник, думал сейчас напишу типизацию😂. Посмотрел на внутренности, понял что работы там слишком много для меня. А от teal я не хочу отказываться в своем проекте, слишком он улучшает качество кода. Не смотря на долгую сборку и то, что не все ошибки находятся. Так и пишу без функциональных библиотек😁
В общем, можно создать диру api/*.lua в корне проекта, и там аннотации писать ко всему, при этом нейминг имен модулей должен соблюдаться, точки в имени не надо заменять на /, и тогда emmylua их подхватывает. Может быть можно их за границу package.path положить Официальный пример с love даже есть: https://github.com/EmmyLua/Emmy-love-api
Обсуждают сегодня