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

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

Feb 22, 20262 hr 4 minEp. 79
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Episode 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_456239224

🔹 Telegram-канал Организованного Программирования: https://t.me/orgprog
🔹Хекслет Клуб в Telegram https://t.me/HexletClubBot

#функциональноепрограммирование #haskell #fp #программирование  #языкипрограммирования #itподкаст #typeclasses #архитектура


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

  • (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) - — Заключение: монады меняют мышление
★ Support this podcast ★
For the best experience, listen in Metacast app for iOS or Android