<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Haskell для начинающих: разбираем IO, Maybe и do-нотацию | Александр Вершилов #75</title>
        <link>https://peertube.lightnode.ru/videos/watch/219c567f-ec1c-4498-b8b5-b40fadae90fb</link>
        <description>Сегодня  у нас в гостях вновь Александр Вершилов, который уже  15 лет пишет на Haskell. Мы продолжаем разговор про Haskell и переходим к той теме, на которой у многих разработчиков всё обычно ломается — IO, побочные эффекты и монады. Haskell регулярно называют «слишком сложным» языком. Чаще всего это происходит ровно в момент, когда разговор доходит до работы с внешним миром. До этого — чистые функции, композиция, красивая типизация. А дальше — «реальный мир», контексты вычислений и ощущение, что ты внезапно оказался в другой вселенной. В выпуске мы разобраели, почему в чистом языке вообще возникает проблема IO, что такое referential transparency и почему чтение файла её нарушает. Обсудили, зачем Haskell протаскивает через типы «токен реального мира», как устроен IO изнутри и почему это не встроенная магия компилятора, а обычная структура данных с чёткими правилами. Пошагово прошли через Maybe и Either, связывание вычислений, do-нотацию и законы монад, а затем сравнили этот подход с Result в Rust, async/await в JavaScript и обработкой ошибок в Go. Полезные ссылки: Twitter - https://x.com/qnikst Подписывайтесь на канал «Организованное программирование» в Telegram: https://ttttt.me/orgprog – Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): https://podcast.ru/1734325321 – Смотреть в ВК Видео: https://vkvideo.ru/video-224967259_456239235 🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog 🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot 🔹 Курсы по искусственному интеллекту: https://ru.hexlet.io/courses_artificial-intelligence 00:00 — Монады без боли: почему их боятся и зря 00:59 — Переходим к практике: готовим среду и код 02:32 — Где в Haskell начинается «та самая сложность» 05:22 — Два пути работы с эффектами: хаос или контроль 13:56 — Кто реально выполняет ваш код? Роль интерпретатора 29:14 — Порядок вычислений: скрытая проблема ленивости 36:52 — Можно ли повторить Haskell в JavaScript? 48:14 — Самый простой пример работы с IO 59:15 — Пишем свою монаду и разбираем механику 01:11:03 — Где монады реально спасают: транзакции и сеть 01:21:30 — Maybe: убийца Null Pointer Exception 01:43:18 — Монада простыми словами: структура + связывание 01:54:05 — Promise — это монада или нет? 02:03:14 — Заключение: монады меняют мышление #функциональноепрограммирование #haskell #fp #программирование  #языкипрограммирования #itподкаст #typeclasses #архитектура Haskell для начинающих: разбираем IO, Maybe и do-нотацию | Александр Вершилов #75</description>
        <lastBuildDate>Tue, 28 Jul 2026 20:15:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>PeerTube - https://peertube.lightnode.ru</generator>
        <image>
            <title>Haskell для начинающих: разбираем IO, Maybe и do-нотацию | Александр Вершилов #75</title>
            <url>https://peertube.lightnode.ru/client/assets/images/icons/icon-96x96.png</url>
            <link>https://peertube.lightnode.ru/videos/watch/219c567f-ec1c-4498-b8b5-b40fadae90fb</link>
        </image>
        <copyright>All rights reserved, unless otherwise specified in the terms specified at https://peertube.lightnode.ru/about and potential licenses granted by each content's rightholder.</copyright>
        <atom:link href="https://peertube.lightnode.ru/feeds/video-comments.xml?videoId=219c567f-ec1c-4498-b8b5-b40fadae90fb" rel="self" type="application/rss+xml"/>
    </channel>
</rss>