Roman
ну да. они так и пишут
А свою монаду городить вербозно?
Vladislav
Т
Vladislav
Страшное объяснение жду
Ayrat
там ещё удобный синтаксис экстеншнов (и немного йобнутый) fun SomeType?.foo(arg: String, action: () -> SomeType) = ...` val a: SomeType? = null a.foo("a") { action() } вот тут я объявил экстеншн над нулабл типом. В экстеншне 2 аргумента, где последний - лямбда. Если она последняя, котлен её разрешает каррировать в блок отдельный
Roman
Но ведь это не резал
Да у них походу родной резалт странный, с одним женерик типом
Vladislav
Nullable pizda exception
Ayrat
А какой результат?
ну вызовется action
Ayrat
там ОЧЕНЬ сложные экстеншны можно объявлять
Ayrat
прям такие что не вкуришь
Vladislav
Я максимально не вкурил что в коде
Ayrat
поэтому язык создан для написания билдеров, дсл и пр
Ayrat
Поэтому каждая котлин либа это новый модный DSL
Igor
котлин кстати запрещает возвращать из функции Result прикинь
Ну это очевидно что бы скалистам жопки подорвать 😌
Ilya
В скале зато есть инфиксная нотация.
Ayrat
В скале зато есть инфиксная нотация.
а в котлине есть инфиксные функции
Ayrat
infix fun ...
Ilya
Действительно.
Ayrat
ПоЛеЗнО
но там в целом создать своего говна изи. Есть DU, есть exhastive check. Патерн матчинга нет, но есть смарткаст. После проверки на тип компилятор сразу кастит в него в скоупе после проверки
Ayrat
в примере выше я сделал как статический Option.map (в companion object) так и инстасный И ещё сверху экстеншном довесил bind
Ayrat
короче, приятный синтаксис. приятный
Roman
Неплохо, но вербозно по сравнению с фшарпом)
Ayrat
Ayrat
ну и better C# по мне уж
Roman
Much better
Ayrat
Кто-то не в курсе что в kotlin есть T? 🤔
это пример в целом. я не пользую опшн, да
Ayrat
именно потому что встроенные нулаблы збс
Igor
🤙
Андрей
похоже пора жетбрейнсу пилить свой с#отлин, мокрософты не справляются
Ilya
Нитра? :D
Критерий
скотлин
Николай
Наконец-то понятное и краткое описание map\bind: https://blog.jonathanchannon.com/2020-06-28-understanding-fsharp-map-and-bind/
Николай
А то сколько Влашина не читал, постоянно была путаница между map\bind\apply
Aleksandr
у нас это pipeline-оператор, получается?)
Николай
map/bind понятно, а чо такое apply?
По-Влашиновски это как map, только функция тоже завёрнута в контейнер
Dr. Friedrich
Чёрт знает что.
Dr. Friedrich
Ну ладно, если так проще в какие-то пайплайны её засунуть — пусть будет.
Андрей
Наконец-то понятное и краткое описание map\bind: https://blog.jonathanchannon.com/2020-06-28-understanding-fsharp-map-and-bind/
к слову это есть в LYAHFG в первых главах, с детскими картинками, и про map и про apply
Ayrat
@Lanayx https://twitter.com/dustinmoris/status/1279896595610427395?s=19 Я тебя спалил
Vladislav
https://blog.dbi-services.com/the-myth-of-nosql-vs-rdbms-joins-dont-scale/
Vasiliy
Индия сейчас - самый лакомый и многообещающий рынок в области онлайна; свои разработки относительно слабые — и поэтому страна стала полем битвы США и Китая. И в Индии это давно прекрасно понимают — потому позволяют себе требования, которые вряд ли кто-то ещё рискнул бы выдвигать. Вот, например, правительство собирается потребовать от международных лидеров электронной коммерции (это в первую очередь Amazon и Walmart) предоставить для изучения исходный код сайта и основных алгоритмов, используемых на нем. К ИИ-алгоритмам собираются выдвинуть требование интерпретируемости. Очень интересно, насколько это удастся реализовать: для других стран и организаций это может оказаться прецедентом, стимулирующим собственные требования. https://thenextweb.com/in/2020/07/06/amazon-and-flipkart-might-have-to-give-their-source-code-to-the-indian-government/
Vasiliy
Индия сейчас - самый лакомый и многообещающий рынок в области онлайна; свои разработки относительно слабые — и поэтому страна стала полем битвы США и Китая. И в Индии это давно прекрасно понимают — потому позволяют себе требования, которые вряд ли кто-то ещё рискнул бы выдвигать. Вот, например, правительство собирается потребовать от международных лидеров электронной коммерции (это в первую очередь Amazon и Walmart) предоставить для изучения исходный код сайта и основных алгоритмов, используемых на нем. К ИИ-алгоритмам собираются выдвинуть требование интерпретируемости. Очень интересно, насколько это удастся реализовать: для других стран и организаций это может оказаться прецедентом, стимулирующим собственные требования. https://thenextweb.com/in/2020/07/06/amazon-and-flipkart-might-have-to-give-their-source-code-to-the-indian-government/
Но же ip компаний, или деньги не пахнут?
Крылатый
Что угодно ради прибыли.
Николай
к слову это есть в LYAHFG в первых главах, с детскими картинками, и про map и про apply
C#-программисту интересующемуся F#'ом стоит почитать? Там не упоротая функциональщина?
Николай
Судя по детским картинкам стоит, но как оно в целом?
Андрей
C#-программисту интересующемуся F#'ом стоит почитать? Там не упоротая функциональщина?
думаю стоит однозначно почитать, и интересующимся, и многим уже практикующим F# в этом чатике
Андрей
кмк книжка не настолько глубокая, чтоб быть упоротой, особенно начало, никаких теорий-категорий там не затронуто
Anonymous
https://degoes.net/articles/no-effect-tracking лысый из Браззерс красиво пояснил за IO
Anonymous
люблю, когда хаскелистов щелкают по носу
Ayrat
которая как бы делает чот похожее
Anonymous
при этом он автор zIO
ЗИО типа переосмыслил Хаскель и шаг вперёд.
Ayrat
хз, я только сбоку смотрел, выглядит как оверкил
Ayrat
дырка на дырке дыркой погоняет
Ayrat
я вот на скале сделал… 4 проекта средней руки. Везде использовал базовые футуры - всё работает
Roman
при этом он автор zIO
никто не запрещает честному пацану на два лагеря играть
Ayrat
больно только с протаскиванием этого ебаного контекста выполнения
Roman
одним продает зио, другим рассказывает, что контроль эффектов — большая ошибка
Anonymous
одним продает зио, другим рассказывает, что контроль эффектов — большая ошибка
Не, не, он за контроль эффектов, но только правильный православный арийский контроль эффектов, который есть только в ЗИО.
Anonymous
Я пока ещё не понял всех деталей. Но я искренне пытаюсь.
Ayrat
просто протащи через имплисит)
ну да. работает до первого НЕ ТОГО втащенного имплиста из импорта
Ayrat
у меня такое было
Ayrat
привело к дедлоку к слову
а всё потому что футура в футуре была что обычно работает на всяких там дефолтных контекстах (которые тупо форк джойн), а вот на особом контексте из импорта левого футуры выполнялись на треде коллера и там поток ожидал выполнения футуры, которая была зашедулена в том же потоке. Типичный ConfigureAwait кейс из винформ короче