Nikolay
Из кэша
gsomix
Короче, тулинг в F# — это то, что потенциально может отпугнуть новичка из мейнстримных языков.
Можно честно об этом сказать, а можно не говорить, рассказав какую-нибудь generic отмазку о проблемах в F#. :)
Vladislav
урлы отдавать
На самом деле там просто вместо стрима можешь стрингу возвращать
Vladislav
Не суть
Nikolay
Так суть в том, что кэша никакого нет
Nikolay
Nikolay
Кэшировать это нужно
Vladislav
Ну засунь в ту функцию
gsomix
Можно честно об этом сказать, а можно не говорить, рассказав какую-нибудь generic отмазку о проблемах в F#. :)
А самая грусть наступает, когда еще продают провайдеры типов. А они, внезапно, не работают так, как обещают, или вообще не работают, мейнтейнер давно забросил, десять PR стоят без ревью. :)
gsomix
Тут, конечно, нужно бежать и форкать, форкать и чинить.
gsomix
Но провайдеры пиздецки сложно писать.
Éminence grise
Но провайдеры пиздецки сложно писать.
Ну не столь сложно, сколько муторно.
Vladislav
Дебажить их нельзя вроде как
gsomix
@Dolfik Ну, тебе еще нужны недостатки?
Nikolay
@Dolfik Ну, тебе еще нужны недостатки?
Нужно больше недостатков
gsomix
Нужно больше недостатков
Компилятор медленный. :)
gsomix
Ну, недостатков именно языковых, наверное, нет смысла касаться.
gsomix
На митапе будет пофиг.
gsomix
Поэтому, наверно, тулинг (тут и медленность компилятора сказывается) и библиотеки (а тут провайдеры типов).
gsomix
Я еще слышал жалобы, что с провайдерами типов никогда не угадаешь, erased или generative тот или иной провайдер. Что добавляет сюрпризов при написании кода.
gsomix
А, вот еще в копилку тулинга.
gsomix
Автоформаттера-то стабильно работающего все еще нет.
Vasily
Нет принятого стиля
gsomix
https://docs.microsoft.com/en-us/dotnet/fsharp/style-guide/
Ayrat
Сложность разработки тайп провайдеров, чтобы это был минус для тех слышит о F# впервый раз в жизни, в начале надо объяснить им важность разработки тайп провайдеров)))
Ayrat
потому что даже для меня это не минус
gsomix
А я не про разработку же, а про использование.
Nikolay
Компилятор медленный. :)
В этом мире всё относительно!
Ayrat
Даже их использование это не минус для тех кто не пользуется F#
Ayrat
скорее даже плюс
Ayrat
их нет даже в таком виде в других языках
gsomix
Ну, вон @Dolfik будет продавать провайдеры на митапе.
Nikolay
Я тут подумал ещё, почему фшарп не популярный
Ayrat
плохой план, моё мнение провайдеры только для хелоуворлдов и очень примитивных примеров годятся
Ayrat
вау эффект в контролируемой песочнице могут вызвать, да
Vasily
Пока провайдеров над типами не будет, они бесполезны
Nikolay
Что сейчас популярно? Котлин - он как замена убогой джава 7 под андроидом, которая уже морально устарела. Свифт - замена обжектив си, который тоже очень древний. Тайпскрипт - добавляет типизацию в жс, чего многим не хватает
gsomix
их нет даже в таком виде в других языках
Потому что в других языках просто есть макросы? :)
Ayrat
Потому что в других языках просто есть макросы? :)
в теории чтение схемы постгре и валидацию запроса можно написать на макросах, но я чот такое не видел
Nikolay
А го придумали, чтобы быстрые приложения писать меньшей кровью, плюс Гугл достаточно активно его продвигал
Ayrat
про го лучше не надо если не готов отбиваться от его фанатов
Ayrat
если ты не готов их с говном смешивать, то лучше ограничься опусканием жабы, с этим ни у кого вопросов ну будет :D
Vladislav
Кэшировать это нужно
Я перед сном написал, завтра посмотрю
gsomix
Кажется, оно. http://getquill.io/#quotation-query-probing
Vladislav
в теории чтение схемы постгре и валидацию запроса можно написать на макросах, но я чот такое не видел
Первое правило метапрограммирования - никакого метапрограммирования (с)
gsomix
Ок, повайнили и хватит. :)
gsomix
Я вот сейчас доустановлю матлаб и пойду дальше динамические говна разгребать. :)
Bonart
Nikolay
Такой вопрос, как иммутабельно хранить количество отправленных котиков?
Анна
Но зачем
Nikolay
Но зачем
Хранить?
Анна
зачем именно иммутабельно. Мне кажется, это тот случай, где решение будет хуже, чем просто мутировать чиселку
Nikolay
журнал событий?
Так а он разве будет иммутабельным?
Nikolay
Как решить можно задачу
Анна
Я конечно не специалист, но походу тут дело пахнет монадами
Nikolay
@fvnever @gsomix призываю
Dr. Friedrich
?
Nikolay
А где хранишь?
В памяти достаточно
Dr. Friedrich
Ну, количество котиков и так иммутабельно :)
Dr. Friedrich
let cats = 1
Dr. Friedrich
Я думаю, ты хочешь ref.
Nikolay
Короче просто счётчик, сколько раз вызвана была команда
Ayrat
Количество отправленных
так оно по смыслу изменяемое
Dr. Friedrich
let cats = ref 0
Ayrat
let mutable catsSentSoFar = 0
Dr. Friedrich
Если хочешь локфри — тогда делай мутабельным и InterlockedIncrement
Nikolay
Это не очень, ибо вызовет локи
Dr. Friedrich
Потому что с рефом, походу, надо будет лочиться дофига