Публикации по теме 'monads'


Гнездо.JS | Монады -> IO
Гнездо.JS | Монады -> IO Монада IO, также известная как «монада ввода/вывода», представляет собой концепцию функционального программирования, позволяющую отделить описание операции ввода/вывода от ее выполнения. Другими словами, он позволяет вам определить вычисление, которое выполняет какое-либо действие ввода-вывода (такое как чтение из файла или взаимодействие с базой данных), фактически не выполняя это действие, пока оно не будет вызвано явным образом. Монада IO часто..

Внутренние обещания
В дополнение к моему предыдущему посту о том, как использовать промисы, я решил написать что-нибудь о том, как они на самом деле работают. Обещания волшебны Промисы — это применение монадных или функтороподобных функциональных принципов к проблеме организации кода. Обещания показывают, как с помощью правильного факторинга и правильных примитивных концепций реализация сложного поведения может быть значительно упрощена. Ключевые особенности конструкции обещания: упаковка..

25 шагов к функциональному программированию на JS
Комплексное путешествие Парадигма функционального программирования очень популярна в наши дни. Он очень хорошо поддерживает масштабируемость и расширяемость. А когда дело доходит до совместной разработки программного обеспечения, его чистота и отсутствие побочных эффектов очень помогают создавать надежные приложения с разнородным сообществом разработчиков. В Javascript это особенно актуально из-за его большой пользовательской базы. Итак, ES201x - это реальный шаг к тому, чтобы JS..

Давай сделаем монаду
Мы еще сделаем из вас Монаду В частности, давайте превратим собственный массив Javascript в монаду! Это будет легко, так как массивы уже почти всегда там! Что такое монада? Что ж, один список квалификаций заключается в том, что это просто «остроконечный функтор, который может сглаживать». Давайте посмотрим, подходит ли Array, чтобы мы могли разбирать его по частям. Начнем с того, что массивы определенно уже являются функторами: у них есть метод .map () , который соответствует..

Составление Maybes в Javascript
Создан на основе монадического понимания в Scala и Haskell В моей предыдущей статье Использование Maybes с React-Redux я обсуждал использование Maybe в javascript. Если вы не знакомы с тем, что такое Может быть , я настоятельно рекомендую вам взглянуть на него, а затем вернуться к этой статье, поскольку тогда все это будет иметь больше смысла. Проблема при использовании Maybe в том, что неудобно работать со многими одновременно: Это работает, но его не очень легко читать,..

Обработка строго типизированных ошибок в TypeScript
TypeScript - отличный язык. TypeScript берет JavaScript и делает его действительно хорошим . Если есть один вопиющий недостаток, это невозможность использовать строго типизированные блоки catch . Однако в основном это связано с недостатком дизайна в языке JavaScript; в JavaScript можно throw что угодно , а не только Error типы. Обоснование Рассмотрим следующий полностью допустимый код TypeScript: Легко понять, почему это может быть проблемой. Один вариант..

Обещание обещания
Обещания в JavaScript — невероятно мощная вещь, которую нужно иметь в своем наборе инструментов. Природа приложений, написанных на JS, часто относительно сложна из-за того, что они по-разному зависят от времени. Без таких инструментов, как Promise, справиться с такими вещами становится намного сложнее. Я уже некоторое время изучаю монады и функциональное программирование в целом. Особенно изучение монад помогло мне понять более мелкие детали Promise. Промисы указаны в открытом..