Ayrat
Логгер без эффектов не логгер.
Логировать православно только так
for {
logger <- getEffectfulLoggerWithEffects()
_ <- logger(...)
}
И такую портянку предлагают писать везде. Из плюсов предлагают контроль эффектов
Ayrat
Из минусов все остальное
Dr. Friedrich
Dr. Friedrich
С таким кодом сразу полезай в печь
Ayrat
Ну и все на тайпклассах да. Этот эффектфул логгер в тофу выводится для типа из инстанса тайпкласса
Dr. Friedrich
Dr. Friedrich
Вон там на фоточке даже кусочек этого логгера можно увидеть
Ayrat
Ну короче там маразм, а автор упорот и не понимает какую дичь творит
Ayrat
Он даже доку не пишет, потому что "тайпклассы самодокументируемы"
Dr. Friedrich
Roman
Ayrat
как же хорошо в нашем уютном фшарпе
В целом можно не трогать всю эту котовую ссанину и жить нормально, но vocal minority скалы тащат её туда очень активно.
А скала чате 1600 тел, активно как всегда полтос, из этого полтоса подавляющее большинство дрочат на котов
Ayrat
@DogeShibu на страже!
Doge
Ayrat
Roman
но рано или поздно обнаружатся фатальные недостатки тофу, и придется написать новые эффективные дырки
Doge
Vladislav
Doge
Ayrat
Из разряда паттерна репозиторий и юнит оф ворк
Vladislav
все эти дырки звучат как типизированные абстрактные билдеры для абстрактных билдеров
Ayrat
Нужен одному из сотни, но делают все потому что не понимают
Doge
Я считаю это бойлерплейт
Не совсем, это кусок стандартной хаскелевский архитектуры приложений, которой более-менее в скале работает
Ayrat
Ayrat
Я кстати за тайпклассы, хочу их, но обмазывать ими все не буду
Vladislav
Ayrat
Ну вот рекордами функций я уже работал в фшарпе. Вербозненько
Doge
Doge
В хаскеле у тебя их нет
Ayrat
Ayrat
Тайп классы я хз как в дотнете сделают, но если можно будет к старыми BCL типам свои интерфейсы докинуть или даже не свои, будет здорово.
Но я чот в них сомневаюсь
Dr. Friedrich
Ayrat
Ayrat
Точнее не доделали
Ayrat
А в фшарпе судьба недоделанных PR не завидная
Vladislav
Vladislav
сртп же нихуя не дебажится
Ayrat
fslang-design/FS-1043-extension-members-for-operators-and-srtp-constraints.md at master · fsharp/fslang-design
https://github.com/fsharp/fslang-design/blob/master/RFCs/FS-1043-extension-members-for-operators-and-srtp-constraints.md
Ayrat
Dr. Friedrich
Dr. Friedrich
Ayrat
Dr. Friedrich
А про что?
Хотя погодь. Да, про это.
Vladislav
Vladislav
Не ставятся
Dr. Friedrich
Читаю там про какие-то операторы, вроде не то сначала показалось
Vladislav
Не точнее там ставятся но не работает
Vladislav
По очевидным причинам
Ayrat
Ayrat
Если дебаг инфу по-другому генерить
Ayrat
Ну типа мапу символов направлять на инлайн метод
Хотя если он в другой сборке без сорцов то пизда.
Да, не взлетит
Dr. Friedrich
Ayrat
Dr. Friedrich
Ayrat
Я регулярно бряки в глубокий говнокод ставлю
Ayrat
Как?
Ну типа ставишь бряку в какую-то срань драйвера, запускаешь, а оно работает
Dr. Friedrich
Я не уверен, что инлайн метод в котлине можно отладить без сорцов.
Dr. Friedrich
Напомню, у тебя вызов инлайн функции без сорцов, код ты можешь только из метаданных сборки вытащить, а для них пока нет декомпилятора вообще.
Ayrat
Ayrat
Я ж написал выше ту же мысль
Ayrat
Ааа, ты подумал что я сказал что идея ставит бряки в чужой инлайн код.
Но я это не имел в виду
Dr. Friedrich
Научимся декомпилировать метаданные — можно будет и отлаживать их.
Dr. Friedrich
Хотя, если честно, я с трудом представляю такую ситуацию в реальности.
Диёр
Ayrat
Причем этот кусок байткода может быть тривиальным сложением
Dr. Friedrich
Dr. Friedrich
У него есть стек. По стеку видно, что мы зашли в инлайн вызов
Dr. Friedrich
Если сам код инлайна достать из метаданных, то проблема в сущности решена.
Ayrat
А в чём проблема?
Ну вот у тебя большой кусок IL, и там где-то в середине сложение двух чисел самым примитивным способом.
Какую метадату и где надо намазать чтобы декомпилятор именно это сложение декомпилировал в вызов другого (инлайн) метода?
Dr. Friedrich
Dr. Friedrich
По нему я вижу, что я внутри инлайна, ок?