Danil
По любому формальному определению, это чистая функция
Даже сумма числе не может быть чистой функцией: add :: Int -> Int -> Int add x y = x + y В результате: .Lcl7: cmpq $0,_module_registered jne .Lcl8 .Lcl9: movq $1,_module_registered addq $-8,%rbp movq $__stginit_base_Prelude_,(%rbp) .Lcl8: addq $8,%rbp jmp *-8(%rbp) ,как видите, значение регистров пишется в стек, а перед возвратом восстанавливает содержимое из стека, что уж говорить про IO, для которого нужен буффер и файловый дескриптор
Danil
Сайд эффект - энергию потеряли
Igor
Диёр
головная боль от метаабстракций это тоже сайдэффект?
Крылатый
Главное, чтобы не анальная.
Диёр
у меня в функцию прилетает Collection<Lesson>, но в пхп нет генериков, поэтому в доках к функции я пишу @param Lesson[]|Collection $lessons чому мне кажется что тут что-то не так
Ilya
Это ж пхп. Я думал, подобные ощущения там в норме.
Danil
Dr. Friedrich
https://habr.com/ru/post/468017/ господи, почему они все просто не возьмут F#!
Dr. Friedrich
Vladislav
Фшарп это сложно
Dr. Friedrich
Фшарп это сложно
Не сложнее, чем WPF!
Vladislav
Майкрософту не интересен
Vladislav
Скоро умрет
Vladislav
Мамой клянусь
Dr. Friedrich
Скоро умрет
Отставить.
Dr. Friedrich
А не то отправлю в печь!
Vladislav
Вот лежит бредит
Vladislav
Два дня даю
Vladislav
Откинется
Romɑn
Что же с нами будет?!
Dr. Friedrich
Что же с нами будет?!
Все вместе отправимся в печь.
Vladislav
Думаешь айрат просто так на скалу ушёл?!
Dr. Friedrich
Громкими обещаниями, вниманием, цветами — неважно чем, главное — купили.
Vladislav
На самом деле он встретил сайма в Ирландии и тот ему сказал что дело гиблое
Vladislav
Dr. Friedrich
Не верю! Наш комиссар не сдаётся!
Igor
Я кстати правильно же понял что в 4.7 верстать UI в шарпике станет еще удобнее?
Vasily
Удобно или нет
Vladislav
Так вот я в Москву и приехал чтобы на панель пойти
Dr. Friedrich
Ну, если ты до этого был любителем всяких элмишей, то теперь ещё лущ станет.
Igor
да, но зачем? Ведь всеравно скоро все умрет
Ну дык, я же под ReactNative пишу на нем, мне дальше оступать никуда
Dr. Friedrich
лол
Vladislav
да, но зачем? Ведь всеравно скоро все умрет
Получше. Меньше боли с идентациец параметров в методах в том числе
Vladislav
А то заставляли все на уровень скобок пихать
Dr. Friedrich
А то заставляли все на уровень скобок пихать
И ещё можно _ вместо __, мечта просто.
Dr. Friedrich
Я во всём проекте заменил!
Dr. Friedrich
Всюду!
Igor
Так вот я в Москву и приехал чтобы на панель пойти
Ну ты там задержись на месяцок, вместе сходим на https://cloju.ru/
Dr. Friedrich
Даже там, где не надо было.
Vasily
Вы мне лучше скажите, где почитать про type tagged union
Vasily
Который, по слухам, планируют завезти в f# 5
Igor
Хера себе у тебя инсайды
Vasily
Почитываю вялую ругань в ишшуях к нужным библиотекам
Vasily
В fabulous важно
Nikolay
Использовал кто новомодные пайплайны?
Ayrat
Сегодня значит ковырял багулю. Про более чем 20000 коннектах к Кассандре начинаются странные респонсы вида - "ваша версия протокола {рандомное число} говно. Надо или 3, или 4, или 5". Причем этих респонсов ну может процент, но все же не 0. Не долго думая, решил выставить в драйвере явную версию протокола, а не полагаться на магические хендшейки. Не помогло. Взялся за дебагер. Локально воспроизводится если закрыть все приложения и засрать все сокеты и процы посылкой инсертов в Кассандру. Поставил бряки - много шума. Поставил кондишны на бряки - одни таймауты, а того что надо нет. Бряки с условиями сильно ЦПУ отъедают, не хватает уже компа чтобы вызвать ощибку. Копался ручками. Нашёл хедер декодер. Берется первый байт с маской & 0б0111_1111. Так как бряки ставить не вариант, пеесобрал драйвер с трейсингом. Хвала джаве, можно подменять класс пас на свой в дебаге. Увидел те самые странные числа вместо нормальной версии протокола. Зарядил вайршарк - нихуя, все чотко. Нихуя не понял, копаю дальше. Нашёл место где буфер выделяется под инкаминг месадж. Берётся из пула, и тут я начал чот подозревать. Короче, в пуле был настроен самописный семафор на 32000 инкаминг запросов. Если их становится больше, запросы ставятся в очередь, которая не тредсейф и можно получить чей-то буфер. С раедомными данными, потому что они походу пересекаться могут. Теперь надо чинить.
Ayrat
И в общем чинить не надо. Респонс нормальный, это локально буфер для респонса содержит бред и далее драйвер думает что ему ответили ошибкой.
Ayrat
Можно просто игнорить, наверное так и починю!!111
Vasiliy
🙈 холли щит. Вот это копание однако в баге.
Nikolay
Сегодня значит ковырял багулю. Про более чем 20000 коннектах к Кассандре начинаются странные респонсы вида - "ваша версия протокола {рандомное число} говно. Надо или 3, или 4, или 5". Причем этих респонсов ну может процент, но все же не 0. Не долго думая, решил выставить в драйвере явную версию протокола, а не полагаться на магические хендшейки. Не помогло. Взялся за дебагер. Локально воспроизводится если закрыть все приложения и засрать все сокеты и процы посылкой инсертов в Кассандру. Поставил бряки - много шума. Поставил кондишны на бряки - одни таймауты, а того что надо нет. Бряки с условиями сильно ЦПУ отъедают, не хватает уже компа чтобы вызвать ощибку. Копался ручками. Нашёл хедер декодер. Берется первый байт с маской & 0б0111_1111. Так как бряки ставить не вариант, пеесобрал драйвер с трейсингом. Хвала джаве, можно подменять класс пас на свой в дебаге. Увидел те самые странные числа вместо нормальной версии протокола. Зарядил вайршарк - нихуя, все чотко. Нихуя не понял, копаю дальше. Нашёл место где буфер выделяется под инкаминг месадж. Берётся из пула, и тут я начал чот подозревать. Короче, в пуле был настроен самописный семафор на 32000 инкаминг запросов. Если их становится больше, запросы ставятся в очередь, которая не тредсейф и можно получить чей-то буфер. С раедомными данными, потому что они походу пересекаться могут. Теперь надо чинить.
А почему нельзя кондишн свой поставить, и внутри уже бряк влепить? 🤔
Ayrat
Хорошая мысль, жаль мне не пришла!
Ayrat
Я серьезно
Nikolay
А без сарказма?
Ayrat
Ну без сарказма
Nikolay
Лол
Doge
Clojure?
Ну так она ощутимо медленная даже с учётом её оптимизаций и самой JVM
Doge
И бессмысленная?
Бессмысленная в том плане, что никаких преимуществ относительно современных ФП с типами не имеет
Doge
Т.к. у них и так есть макросы или их аналог
x
Зато все любят смотреть рича хикей
Doge
Соответственно как-то смысла в лиспе особо нет
x
Во имя святого емакса
Doge
На костёр!
Ну главное в лиспе - это то, что в нём были человеческие макросы. Сейчас они много где есть, только там ещё и языки с приятным синтаксисом
Doge
Ну в лиспе ещё есть некая ретро-романтика, это да.
Doge
И написать лиспой интерпретатор очень легко, что отлично для преподавания в той или иной степени