Roman
ага
Roman
но у байнда и ретурна тоже не подходящая сигнатура получается
Shub
у них другие законы немножко. монада является функтором, если я не ошибаюсь. тема в том, что fmap можно реализовать в терминах bind и return
Shub
опять же, в эфшарпе этого нет :(
Doge
Единственное, что у меня немного не вяжется, это что у мапа сигнатура не 'a -> 'a -> 'a, но возможно @DogeShibu поможет разобраться
Нет, тут про другое. Если ты пытаешься объяснить как связаны монада и моноид, то это лучше не так делать. Если речь просто про монады, то там есть такие сигнатуры: bind :: m a -> (a -> m b) -> m b pure :: a -> m a Ну и bind можно заменить на join :: m (m a) -> a
Shub
в смысле, полноценную монаду надо полностью пилить самому
Doge
Да и то, pure там из аппликативного функтора берется
Maksym
ну ты ж понимаешь, что async result - это банально 'T и 'U?
Ну это и так понятно, вопрос в том что мало слышал что его юзают
Maksym
Больше статей как просто взять СЕ и все
Maksym
И дальше пишешь на сишарпе
Shub
Ну это и так понятно, вопрос в том что мало слышал что его юзают
это просто пузырек внимание, как у того парня, который на ютубе рассказывал, что фп фактически никому неизвестно, поэтому на нем не пишут (sic)
Shub
а я вот смотрю курс лекций по haskell на o'reilly и у меня крыша едет, я банально не понимаю ничего уже с первых минут. а для автора это "ну очевидно, все ж так пишут"
Shub
в джет код лучше не смотреть, это образец как не надо делать скорее
Maksym
Единственное где был уместный фшарп код это только в ивент сорсинге
Maksym
С паттерн матчингом
Shub
ну да, если на минуту забыть о неуместности самого ивент сорсинга
Maksym
Я сам не видел его там смысла
Shub
но ивент сорсинг вполне реализуем и на мейнстрим ООП
Shub
А как тогда связать монаду и моноид?
монада ведет себя как моноид
Shub
в одной определенной категории
Doge
А как тогда связать монаду и моноид?
Посмотри внимательно на сигнатуру join, что она тебе напоминает?
Shub
Я сам не видел его там смысла
когда-то очень давно я сам переоткрыл дизайн-паттерн "медиатор", а мой коллега переизобрел виртуальные функции в С++. довольно долго мы оба использовали это как основной инструмент для любой задачи - я во всем видел несвязные объекты, а он везде тулил свое костыльное наследование
Андрей
@Lanayx, видел вчера видео с тобой на ютубе:)
посмотрел из любопытства, вначале сложилось впечатление, что ведущий шарит в теме больше гостя ))
Shub
)))
ну ты понимаешь, да? джет начался с 5 инженеров, трое из которых были русскими. они росли вместе с компанией, и такого рода "открытия" были неизбежны. но видимо испытание медными трубами прошли не все, и поэтому "все делать через ивент сорсинг" было чисто административным решением, что кстати откололо огромный кусок инженеров и похоже послужило причиной резкого ухудшения качества обслуживания
Doge
Явно не a -> a -> a
Ну это часто записывают как a × a -> a Тут у тебя этим a будет функтор m, а × - его композиция.
Shub
Ну ивент сорсинг выглядел наверно тогда как жесткая авантюра
да как бы сам ивент сорсинг был известен лет 15 уже. тут просто некоторые люди рассмотрели в нем некую математичность, а так же решили, что ивент сорсинг 100% формализуем, следовательно может описать любую задачу
Ayrat
ну ты понимаешь, да? джет начался с 5 инженеров, трое из которых были русскими. они росли вместе с компанией, и такого рода "открытия" были неизбежны. но видимо испытание медными трубами прошли не все, и поэтому "все делать через ивент сорсинг" было чисто административным решением, что кстати откололо огромный кусок инженеров и похоже послужило причиной резкого ухудшения качества обслуживания
ЕС и качество обслуживания вообще слабо связаны. Обмажь кешами со снепшотами где надо и вперде. Джет провалился когда его купил волмарт и запретил конкурировать с собой и вся эта пердола на бекенде со смарткартами (тележками) пошла по пизде. Вся эта умная система, которая тречила инвентарь, ордера, таксономию соседних товаров и компетиторов в онлайне, на любом добавлении в тележку запускалась йоба логика по проверке всего на свете и она работала - пошла по пизде короче. Джет превратился в придаток волмарта, так как волмарт запрещал ставить цены ниже чем у волмарта.
Ayrat
А тем временем в волмарте пердодили вручную цсв без всяких умных систем и ЕС.
Shub
и когда эти супер умные ивент сорсинги стали терять заказы и удалять товары из корзин
Shub
Jet 2.0 случился сильно позже
джет 2.0 - это второй провал
Maksym
Я так понимаю что третий уже тоже
Maksym
Даже не появившь)
Shub
а джета нет. третий - юбилейный
Ayrat
Короче, ЕС тут ни при чём уж точно.
Shub
ну да. а половина директоров инженерных направлений стали в позу просто так, потому что характер неустойчивый
Ayrat
Ой всё.
Ilya
Короче, не доводит до добра этот ваш фшарп.
Shub
ну я могу согласиться, что история с es - это проявление более глубоких противоречий. но в контексте нашего проекта es основной корень зла как в технических, так и не в технических аспектах
Shub
кстати, задумался недавно над таким вопросом: что у нас есть для intermediate\advanced F#? а то в режиме better C# можно до пенсии просидеть
Ayrat
Танцуют все
Shub
да вот смотрю в него прям вот щас
Андрей
а я вот смотрю курс лекций по haskell на o'reilly и у меня крыша едет, я банально не понимаю ничего уже с первых минут. а для автора это "ну очевидно, все ж так пишут"
O‘Really не знаю, но звучит сильно серьезно. И только слушать тоже сильно тяжело, нужны задачки. попробуй Москвина, мне зашло, Правда я там тоже местами не справился, хотя стремился набрать все пункты. А он такой «я добавлял задачки, которые опытным тоже интересны» Короче если совсем в тягость, можно найти кучу готовых решений на гитхабе
Shub
кор гопака - на сишарпе внезапно
Doge
всего вместе
Проблема в том, что если наивно переносить в фшарп advanced фп подходы, то получается фигня, потому у фшарпа достаточно ограниченная система типов.
Shub
что никак не помогает с лекциями того чувака, непонятно до такой степени, что я даже не могу решить, чего именно мне не хватает - знания стдлибы или еще чего-то?
Ayrat
кор гопака - на сишарпе внезапно
На годном сишарпе внезапно. Там наследование к месту и гоуту, и полный набор полей и прочей
Андрей
Черт у меня гопак подвисать стал на ровном месте. Не знаю даже на что грешить
Doge
ну дело в том, что я хаскель знаю приблизительно на том уровне, который дает Москвин и может даже чуточку больше
Вообще рекомендую вот это читать про хаскель, это небольшой и краткий скорее справочник, чем какой-то курс, но реально годный, если хочется что-то реальное на хаскеле писать: http://dev.stephendiehl.com/hask/
Shub
Проблема в том, что если наивно переносить в фшарп advanced фп подходы, то получается фигня, потому у фшарпа достаточно ограниченная система типов.
ну смотри, у нас есть же некоторая система типов и некоторые средства работы с ней? что эфшарп специфик можно делать с этой системой типов? или СЕ - это верх?
Doge
Фшарп плюс посмотри, но это для больных
Вот да, им не реально пользоваться
Shub
видео, про которые я говорю, записаны неким Samuel Gélineau
Ayrat
Вот да, им не реально пользоваться
Ну для галочки познания продвинутых техник нормальная энциклопедия.
Shub
называются Mastering Haskell Programming
Doge
ну смотри, у нас есть же некоторая система типов и некоторые средства работы с ней? что эфшарп специфик можно делать с этой системой типов? или СЕ - это верх?
Тут можно писать на таком, сипл хаскель стиле, когда у тебя всё в IO, повсюду обычные интерфейсы, но при этом эффекты обёрнуты в ссылочно прозрачный вид через то же IO.
Doge
И это норм стиль, он немного бойлерплейтным может быть в сложных кейсах, но работать будет. И он будет лучше better c# за счёт ссылочной прозрачности и ФП подходов к многопоточности, которые куда менее ногострельные, чем таски и им подобные.
Андрей
ну смотри, у нас есть же некоторая система типов и некоторые средства работы с ней? что эфшарп специфик можно делать с этой системой типов? или СЕ - это верх?
мне кажется специфик уже всё сделано, а «плюс» это уже для ваших стрелочников - соваглобусность запредельная
Vasily
Srtp в некоторых кейсах вполне себе ок
Doge
Srtp в некоторых кейсах вполне себе ок
Никто не спорит, тут речь про FSharpPlus, который не очень ок
Doge
Тупо неудобный и странный
Vasily
Сова на глобус, да
Vladislav
Фшарп плюс нужен чтобы баги решения констрейнтов репортить в компилятор
Vladislav
Автор постоянно это делает