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


Умножение больших чисел в стиле функционального программирования
Простая, на первый взгляд, задача - умножение чисел, может доставить массу проблем, если эти числа большие. С такой задачей я столкнулся на Сodewars . Помимо основных правил умножения, были следующие условия: Аргументы передаются в виде строк. Цифры могут быть очень большими. Ответ должен быть возвращен в виде строки. Возвращаемое «число» не должно начинаться с нулей, например. 0123 недействителен. Есть несколько вариантов решения этой проблемы. Самое популярное решение от..

Мирские монады за скудные минуты
Распаковка Monad удобоваримым и практичным способом. Что такое монада? Проще говоря, монады похожи на классы для вычислительных паттернов. Они абстрагируют определенные шаблоны и позволяют нам писать более декларативный код. Все монады имеют два общих метода, которые в javascript обычно называются flatMap (привязка в haskell) и return. FlatMap принимает в качестве аргумента только обратный вызов, затем он распаковывает данные из монады и передает их в обратный вызов, наконец, flatMap..

Гнездо.JS | Монады -> Либо
Гнездо.JS | Монады -> Либо Монада Either , также известная как монада Result , представляет собой монаду, которая используется для представления вычислений, которые могут иметь один из двух возможных результатов: значение типа Left или значение типа Right . Тип Left обычно используется для представления ошибки или сбоя, а тип Right используется для представления успешного вычисления. Монада Either обычно реализуется как объект, имеющий два подтипа: Left и Right ...

Введение в монады в Javascript
Введение в монады в Javascript (видео) Идея: Когда мы используем map для функции f: a→b, мы преобразуем значение A внутри функтора T(A) (используя метафору контейнера) в новое type T(b) — иногда может случиться так, что тип b сам по себе является T(a), поэтому функция, которую мы хотим отобразить, похожа на f: a→ T(a) В этих ситуациях мы получаем что-то вроде T(T(a)) Блок в ситуации Блока (Функтор в Функторе), если T является Монадой, у него есть метод Join , который..

Монадное мышление: функциональное мышление для более чистого кода
Введение В этой статье мы будем исследовать мир монад — функционального подхода к программированию, позволяющего упростить и уточнить код. Что такое Монада? Термин «Монада» происходит из философии, где он представлял собой неделимые строительные блоки реальности, введенные Лейбницем. В функциональном программировании Монада — это шаблон проектирования в функциональном программировании, который действует как структурированный контейнер для значений, обеспечивая плавную..

В тот раз, когда я пытался объяснить указатели
В старших классах средней школы я посещал полугодовой курс программирования в качестве факультатива. Это был не AP-класс. Его преподавал учитель математики, который, насколько я могу судить, знал, как программировать, и считал, что должен быть класс программирования. Поскольку это не был курс AP, учитель, мистер С, установил свою собственную программу, и мы могли отклоняться от нее, если класс начинал так или иначе склоняться. Вместо изучения Java и механических определений классов или..

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