A64m
https://github.com/ghc/ghc/commit/0e953da147c405648356f75ee67eda044fffad49
A64m
так они скоро доведут до того, что легковесные потоки часто нормально работать не будут, потому, что цикл ничего не аллоцирует
Alexander
-fomit-yields ?
Alexander
или как он зовется
A64m
так он же тормозной вроде
Alexander
наверное
A64m
а они оптимизируют, стараются
Alexander
мне целый раз делать надо было
Denis
а есть что-нибудь нормальное для FSM в хаскелле?
Denis
я видел несколько библиотек, все на вид какие-то страшные
Denis
в принципе тайпсейфные какие-нибудь ок, недавно что-то было, но я забыл название
A64m
беспокоюсь за мутабельные объекты, что-то даже и на фабрикаторе их не видел
Alexander
мутабельные объекты это типа того что кметт делал?
A64m
нет, там никакой борьбы с издержками от ленивости (только с издержками от иорефов)
A64m
ну это имплементация Явором пропозала Марлоу
Denis
https://hackage.haskell.org/package/motor-0.1.0.0/docs/Motor-FSM.html чото кмк ту мач
Alexander
just use machines
Alexander
!
Alexander
(я не серьезно)
A64m
https://github.com/yav/ghc/tree/wip/mutable-fields
🍅Ťомат
Профункторы, линзы...Я тут минут 5 думал, что не так. https://www.ohaskell.guide/practice/repos.html
Alexander
@A64m_qb0 а сколько full time paid девов в расте не в курсе?
🍅Ťомат
не вижу ошибок(
Открой решение.
Влод
боже
Влод
это издевательство
Влод
причём в целом для хаскеля это спорное решение с выравниванием
A64m
я теперь не знаю, сколько ориентировочно и для гхц будет
Anonymous
что обозначает нотация <a, b>?
A64m
где?
Anonymous
Alexander
метью сказал, что для ghc - 2
Alexander
Ben и David
Anonymous
а походу реляционная пара
A64m
а тех, кто не основную часть времени, но все равно за зарплату?
Alexander
а это я не знаю как оценить..
A64m
Это же @astynax говорил, что у раста 15 человек, но мне это всегда казалось сомнительным, если на страницу "контрибьютеры" на гитхабе смотреть. Там примерно все то же самое что и в скале, а там человека 4 вроде работает, ну или раза в два - три лучше, чем у гхц.
Влод
а походу реляционная пара
слово реляционная, как-то только сегодня начал слышать. это теперь так зависимую (депендент) надо называть?
Aleksei (astynax)
В раст подконтрибучивает много народу, но активных разрабов не так много, конечно
A64m
грубо говоря там в 2.5 раза больше добавивших 10KLOC+ и во столько же раз больше добавивших 100KLOC+
Anonymous
@qnikst
Alexander
м?
кана
ну выглядит как обычная пара
Alexander
\o/ новый fast-builder на hackage
Leonid 🦇
@A64m_qb0 чёт я не понял, ghc всегда алайнит распакованные поля по word?
A64m
быстро
A64m
@A64m_qb0 чёт я не понял, ghc всегда алайнит распакованные поля по word?
поля меньше размера указателя никогда не занимают, распаковывай-не распаковывай
A64m
ну т.е. теперь могут и меньше, если флоаты, и если добавят новые примитивы, то и не только флоаты можно будет
Leonid 🦇
это несколько неожиданно
Alexander
float-ы?
Alexander
или что инлайнит?
Leonid 🦇
@qnikst патч для флоатов только
Leonid 🦇
https://github.com/ghc/ghc/commit/cca2d6b78f97bfb79bef4dc3f75d6c4d15b94680
Alexander
там просто все очевидно
Alexander
и никаких вопросов
A64m
для гхц-то? по-моему, сейчас стало понеожиданнее
Alexander
мне показалось что @lonokhov говорит, что это неожиданно что только для флоатов патч
Leonid 🦇
ну х.з. в ghc хоть как меняй местами поля и упаковывай, не C же
A64m
тоже ничего неожиданного, размер примитивов не такой как у всех только на x64 для флоатов и на x86 для даблов
Alexander
угу
A64m
т.е. кроме них просто нечего упаковывать
Alexander
нахаляву другие не сделаешь, там кучу всего менять надо я так понимаю
Leonid 🦇
Так, погоди. если у меня Word8# четыре раза, то всё-равно размер будет в 4 Word${arch}?
Alexander
да
A64m
понятно, что примитивов меньше инта нету потому, что это никак нельзя было использовать. Сейчас можно - может и будут
Alexander
newtype Word8# = W#
Alexander
где W# unsigned в слово
Leonid 🦇
ну вот
A64m
все эти короткие инты оборачивают обычный инт-с-указатель
Alexander
надо упаковывать юзай стораблы
Leonid 🦇
Т.е. паковать руками в ${не помнию}Array что-ли?
Leonid 🦇
а у стораблов же оверхед
Alexander
вот S.Vector Word8 уже отъект length(v)
Alexander
+ заголовок
Alexander
который 3 слова
Leonid 🦇
кек
Alexander
даже больше
Alexander
ещё + ForeignPtr