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


Истинное использование монад в FP
Часть 2: Проблема мотивации в JS Проблема мотивации Ваш менеджер просит вас написать функцию countCharsOfFriendsPosts , которая по идентификатору пользователя подсчитывала бы количество символов в сообщениях, сделанных друзьями пользователя. Ваш менеджер сообщает вам, что база данных пользователей будет представлена ​​в виде массива в вашей локальной памяти, как показано ниже: Будучи опытным функциональным программистом, вы быстро узнаете, что countCharsOfFriendsPosts..

Типы высшего порядка
Поднимите безопасность шрифтов в ваших проектах TypeScript на совершенно новый уровень. Я не могу представить, чтобы начать серьезный проект, используя только старый простой JavaScript. При всем моем уважении к de facto lingua franca сети, я уже несколько месяцев полностью продан TypeScript. Оказывается, есть способы вывести эти отношения на новый уровень. Что такое TypeScript? Если у вас еще не было возможности наткнуться на TypeScript , у меня для вас отличная новость: больше..

Позвольте мне научить вас создавать монаду с кошками
Монада - одна из самых распространенных абстракций в Scala. Мы часто используем их в Scala и любых других языках, но часто не знали их по именам. Когда я изучал функциональное программирование, помимо понимания правил ссылочной прозрачности и чистоты, я был совершенно сбит с толку тем, что такое Monad, Functor, Semigroup, Monoid. В этой статье я хочу поделиться тем, как вы можете создать свою монаду с библиотекой Cats, реализовав pure , flatMap и tailRecM . Перед этим я хочу..

Добавление сантехники с классами монад
После статьи прошлой недели у нас есть начальный API для нашего билетного сервиса. Теперь мы хотим взять этот API и начать выяснять, как будет выглядеть наш внутренний сервер. Мы хотели бы сразу же приступить к реализации конечных точек. Но если мы выберем этот подход, наш код будет менее организованным. Хотя немного планирования, мы можем упростить процесс. Нам просто нужно сначала установить кое-какую сантехнику. Многие наши конечные точки будут выполнять какие-либо вызовы..

Monad Transformers для работающего программиста
Практическое введение в Monad Transformers, с подходом от проблемы к решению. Итак, вы садитесь за свой стол, пьете кофе и готовитесь написать еще немного кода Scala. Функциональное программирование не так страшно, как вы думали, жизнь хороша, вы напрягаете мышцы и мозг и начинаете набрасывать ту новую функцию, которую вам нужно реализовать на этой неделе. Это такой же день, как и многие другие: какие-то великолепные одинарные подсказки (ура, Scala!), Какие-то странные ошибки (о, нет,..

Истинное использование монад в FP
Часть 1. Суть функционального программирования Почему монады полезны в FP? Большинство начинающих функциональных программистов знакомо с изрядной долей «учебников» по ​​монадам. Тем не менее, несмотря на огромное количество информации по этой теме, понимание относительно просто определяемой монады по-прежнему ускользает от большинства. Я убежден, что причина этого в том, что большинство «учебников» дают определение вместе с аналогиями, чтобы помочь людям понять определение, но..

Поиск событий с помощью Writer Monad
В предыдущих сообщениях ( Монада Writer для F # , Как войти в Apache Spark, Функциональный подход ) мы обсуждали идею использования монады Writer. как способ агрегирования событий. Однако мы использовали это простой текстовый регистратор, который имеет лишь несколько небольших отличий от любого из обычных регистраторов, которые мы могли бы использовать в нашем приложении. Если посмотреть на монаду Writer с этой точки зрения, кажется, что она требует дополнительных усилий только..