Vladislav
Почему и зачем
Roman
думаешь, многовато?
Vladislav
Что было в голове у него
Roman
я не знаю
Doge
Да, это очень похоже на эмуляцию hkd
Igor
Doge
В фшарпе проще уж было на рефлексии, хоть её я и не очень люблю
Roman
Roman
Doge
Roman
а дата в хаскеле это наши рекорды?
Roman
А, понял
Doge
А, понял
То есть был бы в вашем случае:
data Supplier f = Supplier {
account :: f Account,
name :: f String,
...
}
type Pure = Supplier Identity
type Delta = Supplier Maybe
Doge
Но в фшарпе, где типов высшего порядка нет, это какой-то запредельный уровень наркомании
Roman
да, прикольная тема.
Roman
Жаль, что чувак предпочитает пиздеть на то, что в фшарпе слабая система типов, и писать как на хаскеле, вместо того, чтобы сука писать на фшарпе
Roman
бля, все становится на свои места
Roman
и сразу понятно, почему все вокруг утилс и 80% кода преодолевает проблемы, созданные самим же чуваком
Doge
Карго культ какой-то
Roman
Карго культ какой-то
подозреваю, что он просто не знает дотнет и панически боится рантайма, исключений и прочего говна.
Конечно, его подход только усугубляет ситуацию
Roman
Пушто он не похож на типичного фанатика лютого ФП
Vladislav
Roman
лол
Диёр
весь код измазан вот такой хуйней, я еще даже не спрашивал, что это и зачем:
static member inline IList ((invoker, x : Supplier<_, _, _, _, _, _, _, _, _, _, _>))
: List<'d> =
[
invoker $ (createSafe x (lazy(x.account)), "account")
invoker $ (createSafe x (lazy(x.name)), "name")
invoker $ (createSafe x (lazy(x.legalform)), "legal_form")
invoker $ (createSafe x (lazy(x.country)), "country")
invoker $ (createSafe x (lazy(x.street)), "street")
invoker $ (createSafe x (lazy(x.housenumber)), "house_number")
invoker $ (createSafe x (lazy(x.zip)), "zip")
invoker $ (createSafe x (lazy(x.city)), "city")
invoker $ (createSafe x (lazy(x.email)), "email")
invoker $ (createSafe x (lazy(x.phone)), "phone")
invoker $ (createSafe x (lazy(x.mobile)), "mobile")
]
поворот не туда
Ayrat
весь код измазан вот такой хуйней, я еще даже не спрашивал, что это и зачем:
static member inline IList ((invoker, x : Supplier<_, _, _, _, _, _, _, _, _, _, _>))
: List<'d> =
[
invoker $ (createSafe x (lazy(x.account)), "account")
invoker $ (createSafe x (lazy(x.name)), "name")
invoker $ (createSafe x (lazy(x.legalform)), "legal_form")
invoker $ (createSafe x (lazy(x.country)), "country")
invoker $ (createSafe x (lazy(x.street)), "street")
invoker $ (createSafe x (lazy(x.housenumber)), "house_number")
invoker $ (createSafe x (lazy(x.zip)), "zip")
invoker $ (createSafe x (lazy(x.city)), "city")
invoker $ (createSafe x (lazy(x.email)), "email")
invoker $ (createSafe x (lazy(x.phone)), "phone")
invoker $ (createSafe x (lazy(x.mobile)), "mobile")
]
На такой код даже в лучших домах Джета посмотрели бы косо!!1
Roman
Диёр
весь код измазан вот такой хуйней, я еще даже не спрашивал, что это и зачем:
static member inline IList ((invoker, x : Supplier<_, _, _, _, _, _, _, _, _, _, _>))
: List<'d> =
[
invoker $ (createSafe x (lazy(x.account)), "account")
invoker $ (createSafe x (lazy(x.name)), "name")
invoker $ (createSafe x (lazy(x.legalform)), "legal_form")
invoker $ (createSafe x (lazy(x.country)), "country")
invoker $ (createSafe x (lazy(x.street)), "street")
invoker $ (createSafe x (lazy(x.housenumber)), "house_number")
invoker $ (createSafe x (lazy(x.zip)), "zip")
invoker $ (createSafe x (lazy(x.city)), "city")
invoker $ (createSafe x (lazy(x.email)), "email")
invoker $ (createSafe x (lazy(x.phone)), "phone")
invoker $ (createSafe x (lazy(x.mobile)), "mobile")
]
а что тут есть "invoker"?
Viacheslav
Roman
Ayrat
Потому что подозрительно похож на их собственный?)))
Ну такой лютой хуйни я у нас не видел.
Да, были кастомные перегрузки на оператор $ чтобы имитировать перегрузки функций.
Да, была дичь с кучей типов.
Да, была дичь с ФромДжсон, ТоДжсон (но с опоавданием в виде скорости хотя бы)
Но имитировать хкд хаскеля никто не пытался!!11
Viacheslav
Shub
Vasily
Везде своя хуйня
Shub
Shub
ну например
Vasily
Shub
Vasily
Я так понимаю, на символах явно экономят
Shub
Shub
отдельного котла заслуживает именоваоние
Vasily
Ну имена типов не говорящие, да
Shub
при этом дичайшие сообщения в логи длиной по 200 символов. в коде прям так и записаны одной строкой, без переносов
Vasily
Бывает, чо
Shub
веришь, если в типе 5 параметров, то пусть он разговаривает хоть самым медовым голосом из сказки - это не особо поможет
Vasily
Чот меня тенденция пугает, что подобная хроническая хрень имеет свойство пролезать в проекты на фарше
Vasily
У себя тоже наблюдаю, но борюсь
Shub
я затрудняюсь понять ход мыслей того, кто подумал, что ситуация, когда надо свести 5 разных типов воедино - достаточно общая и часто встречающаяся ситуация, чтобы пилить под это всю эту шизофазию
Shub
при этом оно все сидит в каталоге "MoveToPlatform"
Vasily
Причем, чсх, люди искренне уверены в том, что творят добро
Doge
Хмм... А зачем использовать стрелки одновременно с monad comprehension (причем от async)?
Doge
Какой в этом смысл?
Doge
Если уж использовать стрелки, то использовать >>>, &&& и т.д. и т.п.
Или, если уж речь строго о клейсли, то имеет смысл тогда сразу туда и ошибки запрятать, чем городить матчи. И сочетать их либо стрелочным комбинаторами, либо монадическим синтаксисом для клейсли
Igor
А у вас есть какая-нибудь кодогенерация?
Ayrat
Ayrat
Пытаюсь расшифровать до сих пор
Ayrat
Возможно надо рандомно слова местами поменять чтобы смысл появился
Igor
Да я в общем интересуюсь
Shub
Shub
Какой в этом смысл?
ты пытаешься найти рациональную логику в действиях людей в пограничном состоянии. это все равно, что искать закономерности в картинках калейдоскопа.
Shub
Shub
кстати, это был мой первый вопрос: почему стрелки есть, а комбинаторов нет, не завезли, что ли?
Shub
ответ был примерно такой: на стрелках писал Н (который щас директор этого хозяйства) и ему нравится, когда остальные пишут на стрелках. но в комбинаторы ни Н, ни мы не смогли, поэтому остановились на нейтральной территории - поинт-фри со стрелками, ВЫГЛЯДИТ ПОХОЖЕ
Shub
примерно на середине этого ответа я понял, что надо мною стебутся и больше эту тему не поднимал
Doge
Doge
То есть буквально определение каргокульта
Doge
(Хотя с клейсли опять-таки можно на монадических комбинаторах и синтаксисе, но как я понял, у вас и его нет для этих стрелок)
Андрей
интересно, как бы это выглядело на go, или на баше ...🤔
Shub
Shub
Просто в этой ситуации говорить «давайте использовать комбинаторы для стрелок» - все равно, что предложить полинаркоману «а давай ты еще и на психотропы присядешь»
Vladislav
Vladislav
Иногда
Vladislav
У романа _11_
Doge
Ayrat
@atsapura беги оттуда!