Nikita 🐋
даже ror
Yakov
Дыа
Nikita 🐋
мы стали забывать, как должен выглядеть серверный фреймворк
Yakov
мы стали забывать, как должен выглядеть серверный фреймворк
main = scotty 3000 do get "/:word" do word <- param "word" text $ "Hello, " <> word
Yakov
Хаксельный скотти
Yakov
Nikita 🐋
не сравнить с этим уродством: https://github.com/backmeupplz/IsBotDownBot/blob/main/src/controllers/bots.ts
Nikita 🐋
зато все типизировано
Nikita 🐋
Yakov
зато все типизировано
Так это, в Хакселе же тоже
Yakov
Nikita 🐋
у меня тут еще валидация
Nikita 🐋
я в последнее время подсел на дженерики
Nikita 🐋
не могу с них слезть
Yakov
Не совсем понял
Nikita 🐋
https://github.com/socketio/socket.io/pull/4159
Nikita 🐋
это мой PR
Nikita 🐋
Nikita 🐋
я добавил дженериков
Nikita 🐋
должен быть концептуальный способ лучше дженериков
Nikita 🐋
я просто уверен, что должен быть
Nikita 🐋
я часа полтора сидел курил код
Nikita 🐋
там все в дженериках
Yakov
я в последнее время подсел на дженерики
А в Хакселе.. у дженериков могут быть дженерики
Yakov
Nikita 🐋
зато я знаю механизм типизации socket.io вдоль и поперек
Nikita 🐋
плюс наследуемость дженериков
Yakov
Nikita 🐋
имплементация интерфейсов дженериков
Nikita 🐋
дефолтные дженерики
Nikita 🐋
A<B, C<B<A>>>
Yakov
A<B<C>>
А, немного некорректно выразился. Можно указать абстрактный, неизвестный тип с единствнным констрейнтом "у этого типа должен быть ровно один дженерик"
Nikita 🐋
Nikita 🐋
я не хочу об этом думать
Nikita 🐋
это какое-то вуду
Yakov
Оно в типизации TS (и Dart) делается через страшные костыли через HKT и мне хочется плакац :(
Nikita 🐋
мой мозг активно блокирует попытки это представить
Nikita 🐋
точнее, представить, зачем это надо
Nikita 🐋
но вот чего в ТС нет
Nikita 🐋
так это пропуска дженериков с дефолтными типами
Nikita 🐋
в Flow есть *
Nikita 🐋
в TS есть старые пердуны-мейнтейнеры, которые блокируют эту инициативу
Yakov
точнее, представить, зачем это надо
На этом вообще все тайпклассы строятся, т.е. какой-нибудь interface Functor<F> { map<A, B>(f: (a: A) => B, fa: F<A>): F<B> }
Yakov
Тогда можно map вынести за интерфейс и вешать на свои классы/типы
Nikita 🐋
doesn't look like anything to me
Yakov
Обходится вот таким ужасом class HKT<F, A> {} interface Functor<F> { map<A, B>(f: (a: A) => B, fa: HKT<F, A>): HKT<F, B> }
Yakov
Nikita 🐋
чет покитайски
Yakov
Я последние пару недель просто как раз активно пытался понять как сделать лутше
Yakov
так и не понял :(
Yakov
Скорее всего, никак, эт правда вуду какое-то
Nikita 🐋
нужна расшифровка
Nikita 🐋
хотя я не пойму ее
Nikita 🐋
мой мозг на сегодня истощен
Yakov
Nikita 🐋
эта картинка с каждым разом шакальнее и шакальнее
Yakov
Нужно еще заньюкить
Yakov
Yakov
перфекшон
Nikita 🐋
Nikita 🐋
@purplenoodlesoop
Nikita 🐋
Yakov
Ахахахахах
Yakov
Yakov
получайте антиваксеры (файзер)
Nikita 🐋
Nikita 🐋
хм, поиграть ли в компуктер
Yakov
Да!
Nikita 🐋
крач куплю себе барабаны
Nikita 🐋
электро барабаны
Nikita 🐋
буду делать
Nikita 🐋
бум тынц
Lev
Так пишут, конечно, "оказалась аферой". Любой, кто задавался вопросом "а что, если это не официальная валюта..." и зашёл на сайт, должен был сразу понять, что это афера, как по мне.
Alexander
))