Shub
а компилятор не сможет вывести тип как алиас в случае с традиционной декларацией
Shub
воо
Ayrat
Igor
похоже я еще не дошел до этих алиасов, пока нигде не использовал
Igor
и воще теперь непонятно, буду ли я их когда нибудь использовать! Директор сказал или cpp или жава, даже котлин или скалу нельзя!
Ayrat
Shub
Igor
а от жавы у меня кровь из глаз
Ayrat
Я на удачу код ебанул, под рукой компилятора нет. Но я почти уверен что вторая функция поинферит unit -> UserId
Ayrat
а не unit -> int
Shub
убери аннотацию во второй строке
Shub
щас проверю с компилятором.
Ayrat
Там никаких аннотаций
Shub
ща, секундочку
Ayrat
Во второй я явно говорю, без этого никуда, это понятно
Igor
вот где было написано (может даже в этом чате), что эти алиасы только видимая безопасность. Зачем их использовать?
Shub
мой поинт в том, что если где-то в графе разрешения типов не будет стоять явной аннотации - алиас не инферрится. только что проверил
Ayrat
Shub
Ayrat
Там оно реально как сокращение сигнатуры используется
Ayrat
Вместо простыни стрелок одно слово
Shub
я их использую как заглушки для типов, которые я еще не детализировал. часто делаю что-то типа type EntityId = string
Ayrat
Shub
угу
Vasily
Я вот сегодня написал одну сртп функцию, строчек 200 сэкономил
Shub
ах ты ж еретик
Vladimir
насчет алиасов - есть кейс когда просто никак не напишешь без алиса. Когда тип - тупл и является параметром DU и хочешь заматчить сразу весь тип
Shub
Complex type hacks
Don't do it!
F# has Statically Resolved Type Parameters (SRTP) which can be used to do polymorphism, monads, etc. Don't!
KISS - simple is better than complex!
Shub
это написал не кто-то там, а сам пресвятой Влашин (да святится имя его)
Shub
https://gist.github.com/swlaschin/31d5a0a2c4478e82e3ed60d653c0206b
Shub
у нас тут давеча вышел очередной спор на тему “как ПРАВИЛЬНО писать на F#”. я говорю - ну вон там ваш Влашин соглашается со мной, вот глава и номер стиха из Писания.
Shub
мне ответили “в этом месте Писание туманно, поэтому из предосторожности мы эту часть игнорируем"
Shub
(и тут я почти уверовал )
Vladislav
А я написал сртп класс на той неделе
Vladislav
Igor
даже я сртп понял, главное в активпатерн его засунуть, и получается просто
Vasily
Вон Влад подтвердит
Vladislav
Подтверждаю
Vladislav
А моя хтоническая штука даже дополнительного кода не потребовала
Vladislav
Встала как родная на место
Vladislav
....где уже были сртп
Vladislav
Vasily
Вот всякие комонады иногда хочется, конечно, но нужен большой опыт для корректного применения
Vladislav
Vladislav
А то получится блицкриг в один день
Vasily
Нахер мне код, который кроме меня никто не поймет?
Doge
Shub
Doge
Doge
Igor
Doge
С либами и их подключением проблемы правда
Doge
И пакетного менеджера толкового нет
Doge
И системы сборки. И с ide проблемы бывают
Vasily
Как хорошо, что я 15 лет назад оставил с++
Ayrat
Bonart
Igor
Hog
Igor
да я фарш только начал изучать как пару месяцев, куда я пойду. Точнее кто меня возьмет
Bonart
Anatoly
Hog
может быть - но на на онбординге 100% отдачи никто не ждёт, а за это время - можно чо угодно выучить
Hog
да - 90 дней норм.
Vasily
Vasily
Но в мск на джуновские бабки