Маjко
Семантика разная, то что реализация одна — никого не ебет
/thread
Vladimir
Я делал через shm и кондвары
я просто сейчас смотрю на то что есть, хочу склепать сначала интерфейс какой-то.
Идея в том, чтоб было независимо от транспорта, и в перспективе реализовано на shmem + spinlock
պլհկ
Вы тут platform.rs изобретаете или чо
Vladimir
че такое платформ рс
Маjко
Маjко
Мьютекс энивей оптимизирован под этот случай
Маjко
Так что юзать спинлоки в юзерспейсе — ну такое
Vladimir
Vladimir
Vladimir
platform.rs вроде про асинхронные стримы
kitsu
Есть какие-нибудь либы для автоматизации биндингов ко всем возможным яп?
Маjко
Ко всем — вряд ли
Маjко
Есть к сишке
Маjко
Если либа не выставляет C API — она не нужна
Vladimir
kitsu
не, надо наоборот, из сишки
kitsu
ну, c-like
тот же rust с экстернами подойдет
kitsu
Просто есть задача запилить биндинги (для 2 яп, потенциально офк больше)
думаю писать дополнительно на сях, чтоб были биндинги ко всем
либо писать отдельно для каждого
Vladimir
чет сложно, и не понятно
kitsu
ну есть недо API со сложными функциями, с дженериками да еще и замангленные
просто extern "C" - не допишешь
kitsu
вот надо это вызывать из других языков
kitsu
Просто если есть что-то, что может по сишному хэдеру сделать биндинги к другим яп, то проще не делать для каждого яп отдельно
Vladimir
по другому никак пока-что
Vladimir
вот
Alexander
вот дело человек говорит ^
kitsu
вообще говоря речь не про раст, ну лан, тож в этом направлении думал
Vladimir
кстати одна из задач такой синхронной мути (как я описал) это аналог ffi
Alexander
можно извращаться и предполагать, что layout известен (я так ADT между Rust и Haskell кидался), но это сложный и небезопасный путь
Vladimir
просто у большинства языков нестабильный ABI, в этом плане преуспел ток Си
Alexander
а что за язык к которому extern C не сделать?
kitsu
ну фишка в том, что си дергать легко
Alexander
вон даже у явы есть все чтобы использовать её полностью
Vladimir
Alexander
все если постараться
Vladimir
Alexander
@c_vld да
Vladimir
там же обвязок килограмм нужно на сихе написать, чтоб всё работало
Vladimir
именно специфичных для жавы
Alexander
у нас есть либа, что на почти яве можно внутри haskell кода писать
Vladimir
круто вам
Vladimir
или нет
Vladimir
скорее нет
Alexander
плагин к компилятору + либа
Alexander
нормально выходит
Vladimir
ну вот, плагин к компилятору
Alexander
передача объектов между почти без копирования
Vladimir
я ж не спорю что код там чисто бойлерплейт
Vladimir
ого
Vladimir
в хаскеле utf16 строки?
Alexander
есть тип под них
Vladimir
"тип под них"
Alexander
ну где можно без копирования, где нельзя все же есть
Vladimir
ну блин это ж не то
kitsu
Alexander
ну как не то, тип есть либы есть
Vladimir
у вас есть некие строки, которые основные?
Vladimir
Alexander
это haskell тут такой разброд и шатание
Alexander
что я отказываюсь отвечать, что тут основное
Vladimir
Vladimir
у вас стд либа есть вообще?
Alexander
есть
Vladimir
там есть строки?
պլհկ
Есть bindgen наоборот, но я не могу нагуглить чето
Alexander
есть, но ими особо не пользуются
Vladimir
с сыром вроде название связано
Alexander
т.к. там исторически String=[Char]
Alexander
это single linked list, Char-ов
պլհկ
Байтстринг фтв
Vladimir
https://github.com/Sean1708/rusty-cheddar
kitsu
Alexander
байтстринг в общем-то не строки, а байты
Alexander
мне казалось я видел генератор байднигов под раст, но не помню точно
Alexander
Text как самый production ready тип для текста используется
Vladimir
ну кстати раст_свиг на макросах есть
Alexander
он utf-16
Vladimir
еще есть гобжект херня