Публикации по теме '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.
Промисы указаны в открытом..