169 похожих чатов

Наконец-То вышла поддержка 2.12 для скала натива https://twitter.com/ergysdona/status/1313817534810984448?s=19, как вам

такое

27 ответов

25 просмотров

Он еще жив? Чем он лучше Graal?

Sergey Alaev
Он еще жив? Чем он лучше Graal?

чисто скловыми оптимизация, да и банарь поменьше

Класс!!!

Sergey Alaev
Он еще жив? Чем он лучше Graal?

Очень лёгкий (супер важно для мира в кубернетесе где каждый чих - это отдельный докер контейнер, на граалей памяти не напасешься). Очень легко интегрировать с сишными библиотеками. При этом довольно продвинутый. Scalaz на нём отлично работал. Ещё бы релиз чтобы все эти чудеса использовать... Особенно из чудес хотелось бы... поддержку аллокаций из разных тредов. Грустно же в одном потоке работать.

Python
Очень лёгкий (супер важно для мира в кубернетесе г...

А есть что почитать о сравнении скала-натива и грааля относительно легкости и интегрируемости

Pavel
а зачем scalaz?

Вместо котов

Pavel
а зачем scalaz?

Просто cats пока что нет для Scala Native, а Scalaz есть, причём официально.

Nikita V
А есть что почитать о сравнении скала-натива и гра...

В Scala Native сишные библиотеки можно просто... вызывать и они сходу работают. Только правильный binding сделать: https://scala-native.readthedocs.io/en/v0.3.9-docs/user/interop.html А для тех кто не хочет делать байндинг вручную, есть крутейший https://scala-native.github.io/scala-native-bindgen/ По опыту: работает из коробки даже для довольно сложных библиотек.

Sergey Alaev
Т.е. сетевой стек у вас сишный?

Сетевой стек? Какой ещё сетевой стек? 😂

Python
Сетевой стек? Какой ещё сетевой стек? 😂

У вас сферическое приложение в вакууме или RPC over file system?

Sergey Alaev
У вас сферическое приложение в вакууме или RPC ove...

Scala Native ещё очень сырой. Там тредов нет. Всё что не на Скале - не работает. Там кое-чего из джавы портировали на Скалу, но я не помню были ли в этом числе классы для работы с семью. Сомневаюсь. Нативные сервера люди прикручивали и они хорошо работают, особенно на libuv, но это всё грустно без тредов.

Python
Scala Native ещё очень сырой. Там тредов нет. Всё ...

Жабоскриптеры без тредов живут как-то

Woof Собач
"как то"

Нормально живут, но а) нужен правильный рантайм и б) такое приложение не сможет загрузить больше одного ядра.

Woof Собач
Жаваскриптеры? Нормально? Серьезно?

Я бы не стал утверждать, что "перепишем все node приложения на скалу" сделает мир лучше.

Python
Очень лёгкий (супер важно для мира в кубернетесе г...

Ну грааль мало памяти ест, да и с Сишкой тоже легко интегрировать

λesha ƒomkin
Жабоскриптеры без тредов живут как-то

Фиг с ним с тредами, мне бы хотя бы возможность объекты создавать в тредах которые извне созданы и чтобы потом garbage collector не умирал.

Python
Фиг с ним с тредами, мне бы хотя бы возможность об...

В принципе, можно обеспечить "псевдомногопоточность", если все асинхронные операции возложить на сишный код. Например, написав свой интепретатор для IO или самодельной монады попроще

Sergey Alaev
В принципе, можно обеспечить "псевдомногопоточност...

Там, пока что, нельзя создавать объекты в Скале если вас вызвал код из C. То есть никаких колбеков, только ожидание из единственного рабочего треда. Судя по комитам, это чинят. Как только починят - это будет суперпрорыв.

Python
Там, пока что, нельзя создавать объекты в Скале ес...

Это можно обойти, если заморочиться. коллбэк из сишного кода должен только добавить новую таску в Executor. Таску можно аллоцировать заранее, gc-free executor можно написать.

Sergey Alaev
Это можно обойти, если заморочиться. коллбэк из си...

Можно обойти. Я обходил. Делаешь глобальную переменную доступную статически из нативного кода, и через неё разговариваешь. Но это очень неуютно. 😂

Python
Можно обойти. Я обходил. Делаешь глобальную переме...

Так это выглядит как отличное применение фп - сконструировать монаду и интерпретатор, прячущие этот костыль внутри, оставляя снаружи нормальные тайпклассы)

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Ребят в СИ можно реализовать ООП?
Николай
33
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Карта сайта