Anmelden

Организованное программирование· Folge 79

#75 Haskell для начинающих: разбираем IO, Maybe и do-нотацию | Александр Вершилов

Sonntag, 22. Februar 2026 · 2 h 04

MP3

Shownotes

<p>Сегодня у нас в гостях вновь Александр Вершилов, который уже 15 лет пишет на Haskell. Мы продолжаем разговор про Haskell и переходим к той теме, на которой у многих разработчиков всё обычно ломается — IO, побочные эффекты и монады.</p><p>Haskell регулярно называют «слишком сложным» языком. Чаще всего это происходит ровно в момент, когда разговор доходит до работы с внешним миром. До этого — чистые функции, композиция, красивая типизация. А дальше — «реальный мир», контексты вычислений и ощущение, что ты внезапно оказался в другой вселенной.</p><p>В выпуске мы разобраели, почему в чистом языке вообще возникает проблема IO, что такое referential transparency и почему чтение файла её нарушает. Обсудили, зачем Haskell протаскивает через типы «токен реального мира», как устроен IO изнутри и почему это не встроенная магия компилятора, а обычная структура данных с чёткими правилами. Пошагово прошли через Maybe и Either, связывание вычислений, do-нотацию и законы монад, а затем сравнили этот подход с Result в Rust, async/await в JavaScript и обработкой ошибок в Go.</p><p>Полезные ссылки:<br />Twitter - x.com/qnikst</p><p>Подписывайтесь на канал «Организованное программирование» в Telegram: ttttt.me/orgprog<br />– Список подкаст-платформ (Apple Podcast, Google Podcast, Spotify, Яндекс.Музыка и другие): podcast.ru/1734325321<br />– Смотреть в ВК Видео: vkvideo.ru/video-224967259_456239224</p>… Telegram-канал Организованного Программирования: t.me/orgprog<br />🔹Хекслет Клуб в Telegram t.me/HexletClubBot</p><p>#функцион… #haskell #fp #программирование #языкипрограммирования #itподкаст #typeclasses #архитектура</p><p><br />Haskell для начинающих: разбираем IO, Maybe и do-нотацию | Александр Вершилов #75</p>
<ul><li>() - — Монады без боли: почему их боятся и зря
</li>
<li>() - — Переходим к практике: готовим среду и код
</li>
<li>() - — Где в Haskell начинается «та самая сложность»
</li>
<li>() - — Два пути работы с эффектами: хаос или контроль
</li>
<li>() - — Кто реально выполняет ваш код? Роль интерпретатора
</li>
<li>() - — Порядок вычислений: скрытая проблема ленивости
</li>
<li>() - — Можно ли повторить Haskell в JavaScript?
</li>
<li>() - — Самый простой пример работы с IO
</li>
<li>() - — Пишем свою монаду и разбираем механику
</li>
<li>() - — Где монады реально спасают: транзакции и сеть
</li>
<li>() - — Maybe: убийца Null Pointer Exception
</li>
<li>() - — Монада простыми словами: структура + связывание
</li>
<li>() - — Promise — это монада или нет?
</li>
<li>() - — Заключение: монады меняют мышление
</li>
</ul>
<strong>
<a href="boosty.to/mokevnin">★ Support this podcast ★</a>
</strong>

Anmelden oder registrieren

Jetzt

0:00 / 0:00