Токсичность и Гомотопия


Channel's geo and language: not specified, Russian
Category: Technologies


Канал с нерегулярными постами о ФП, теоркате, НоТТ и всяком таком.
Прочитайте закрепленное сообщение перед тем, как подписаться. Вы были предупреждены.
Вопросы, предложения и пожелания: @ybogomolov

Related channels

Channel's geo and language
not specified, Russian
Statistics
Posts filter


Forward from: dd if=/dev/stuff of=/dev/tg
Компиляция #monadicmonday за июнь на площадке dev.to:
https://dev.to/ybogomolov/monadicmonday-compilation-june-143h

Компиляций на Медиуме больше не будет. Их политика относительно доступности контента (aka paywall), а также неприспособленность площадки для размещения примеров кода вынуждает меня перестать публиковать статьи там.








Forward from: dd if=/dev/stuff of=/dev/tg
Опубликовал на Медиуме компиляцию #monadicmonday за апрель:
https://medium.com/@yuriybogomolov/monadicmonday-compilation-april-1b3e8c28627e


Forward from: dd if=/dev/stuff of=/dev/tg
Очередная статья на Медиум: пишем typelevel конечный автомат на примере сетевого запроса с circuit breaker'ом!
@yuriybogomolov/type-level-finite-state-machines-6714f849255' rel='nofollow'>Type-Level Finite State Machines


Forward from: dd if=/dev/stuff of=/dev/tg
Еще одна статья на Медиум — @yuriybogomolov/circuit-breaker-in-a-functional-world-9c555c8e9527' rel='nofollow'>реализация паттерна Circuit Breaker на функциональном TypeScript. Немного деталей для тех, кто не совсем понимал, что это за зверь такой и для чего он нужен.


Forward from: dd if=/dev/stuff of=/dev/tg
Написал пост на Медиум о моём подходе к построению безопасного, строго типизированного, поддерживаемого фронтэнда:
https://medium.com/@yuriybogomolov/typesafe-frontend-development-89c7600f2759
Лайк, подписка, колокольчик, вот это всё. Ну и пишите сюда или по контактам в статье — насколько вам близки эти идеи, в чём я заблуждаюсь, что нужно дополнительно рассказать, и т.п.
Я твёрдо уверен, что только гласностью и публичностью можно сдвинуть мир к лучшему.


Forward from: dd if=/dev/stuff of=/dev/tg
Кстати, 25 февраля над любимый лысый из браззерс будет рассказывать о том, почему TF это плохо, и представит новую серебряную пулю. Я делаю ставки на то, что это будет бифункторное IO. Осталось недолго!
P.S. будет запись доклада, так что в Лондон лететь не обязательно.


Крутейший @xgrommx подсказал, что копризма — это линза. Так что задача становится достаточно тривиальной =/ В общем, оценю необходимость упомянутого стриминга еще раз. В крайнем случае — напишу здесь сводку результатов работы над новой версией circuit-breaker-monad.


Кстати. В том самом @randomstuffilike предложил народу провести стрим работы над профукторным circuit breaker'ом — мне пришла в голову мысль, что его можно выразить в терминах профункторной копризмы.
Термин «копризма» я первый раз встретил в статье Оскара Понса на медиуме: https://medium.com/@wigahluk/handling-errors-with-profunctor-optics-d34f97b0cc1a
Выражает эта сущность операцию, которая может упасть при попытке обновления — что дает возможность отреагировать на это падение каким-либо образом. Это и натолкнуло меня на мысль, что CB очень красиво может быть выражен в виде копризмы, точнее, в виде композиции призмы (для валидации) и копризмы (для повторной попытки).
Я поиграюсь с этими идеями на ближайших выходных и попробую организовать стрим, как только решу все технически-организационные вопросы.


Расскажу, что происходит с каналом и его автором, а то может сложиться впечатление, что канал помер.

Я решил начать с совсем азов, и активно осваиваю топологию (классическую, даже ещё пока не алгебраическую), потихоньку перехожу к гомотопической теории типов и гомологической алгебре. В то же время в освоении ТК я ушел вперёд относительно последних записей в канале, и чувствую некоторую вину, что не описывал свои наблюдения здесь. Статью по рексхемам я допишу, но конкретного слота пока назвать не могу.

Вообще, излишняя серьезность канала в какой-то момент начала давить на меня, поэтому в качестве отдушины я и завел @randomstuffilike, который потихоньку стал основным. Серьезные статьи и заметки по математике и ФП я продолжу публиковать здесь, а за мемесами и бомблением прошу перекатиться туда.

Спасибо, что оставались со мной и за поддержку. Всех обнимаю. Stay tuned ✌🏻




Волшебная @tlasol выполнила мой заказ — формулу комбинатора неподвижной точки. Артефакт! :)




Forward from: Vlad


Forward from: dd if=/dev/stuff of=/dev/tg
Подытожу:

1. Главное различие фри монад и ТФ — фри монады описывают программу как данные (тип + инстанс типа), а ТФ — как выражение.
2. Оба этих стиля имеют право на жизнь в тайпскрипте, но это просто пиздец какой-то, а не программирование. Столько бойлерплейта ради сомнительного выхлопа.
3. В примерах это не отражено, но в ТФ проще комбинировать эффекты нескольких разных типов — например, если бы у меня был отдельный тип для работы с БД, отдельный для сетевых запросов, отдельный для логирования, я бы смог их комбинировать достаточно просто. Во фри монадах это сделать сложнее, зато в них проще «смотреть внутрь» значения и писать оптимизирующие интерпретаторы, чем в ТФ.

Я все равно буду продвигать оба этих стиля во фронтэнд как способ писать сложную, композируемую логику в безопасном и легко тестируемом стиле.
Такие дела.


В другом своём канале, менее формальном и посвященном всякому, вбросил гисты с реализацией Free Monads и Tagless Final на TypeScript. Кому такое интересно, взгляните.
П.С. Пост про рек.схемы готовится, не переживайте :)





20 last posts shown.

503

subscribers
Channel statistics