Публикации по теме 'functional-programming'
Введение в программирование в LM
LM — это новый функциональный язык программирования, созданный для образовательных целей и получивший свое название от ML, написанного наоборот. Для загрузочного компилятора требуется Rust, поэтому Сначала нужно установить Rust . Затем LM можно установить с помощью следующей команды в терминале.
cargo install lambda_mountain
После этого мы можем начать программировать, запустив цикл чтения-оценки-печати.
lm repl
>
Программы LM вводятся построчно. Каждая строка может либо..
Эй, Дэн. Отличный вопрос.
Эй, Дэн. Отличный вопрос. Поскольку функции возвращают только одно значение, и вы все равно не можете создавать функции с несколькими параметрами и разными порядками параметров, вам не нужно беспокоиться о множестве аргументов внутри стандартной реализации компоновки. Одно возвращаемое значение = унарный состав.
Позже мы рассмотрим более сложные сигнатурные композиции, но вот спойлер: мы собираемся использовать карри для извлечения n-арности.
Функторы и аппликативы
В одной из своих предыдущих статей я попытался объяснить монады доступным способом. Вот попытка сделать то же самое для некоторых других членов того же семейства - функторов и аппликативных функторов. Хотя концепции и принципы, описанные здесь, являются общими для функционального программирования, легкий акцент будет (как обычно) на Scala.
Функторы
Если вы читали вышеупомянутую статью о монадах, вы, возможно, помните, как я описывал их как оболочки вокруг значений. Каждое значение,..
Использование возможностей функционального программирования в JavaScript: сопоставление, сокращение и фильтрация
Введение
Функциональное программирование — это парадигма программирования, которая рассматривает вычисления как оценку математических функций и избегает изменения состояния или изменяемых данных. В этом сообщении блога мы исследуем возможности функционального программирования в JavaScript, используя три популярные функции высшего порядка: карту, уменьшение и фильтрацию. Эти функции не только делают ваш код чище и лаконичнее, но и помогают писать код, который легче поддерживать и..
Работа с монадами
У меня был большой камень преткновения в изучении монад. Возможно, неудивительно, что это произошло потому, что я пытался зайти с определенной монадической аналогией слишком далеко в классе колледжа, где я впервые узнал о них. У меня в голове возникла идея, что «монады подобны сундуку с сокровищами», и моя мысленная модель выглядела примерно так:
Монады подобны сундуку с сокровищами. Вы не можете напрямую получить доступ к тому, что внутри ( a в IO a ). То есть, если вы уже не..
Редуктор в Mixpanel API странный, но гениальный
Mixpanel была важным инструментом в моих предыдущих двух стартапах. Чтобы наша команда могла принять решение на основе данных Mixpanel, нам нужно скомпилировать множество различных представлений. Они могут быть самыми разными и гибкими. Эта гибкость - ключ к успеху Mixpanel. Чтобы использовать это, им нужен очень всеобъемлющий язык запросов, чтобы разработчики / маркетологи могли выполнять сложные запросы к данным.
Я был очень уверен, что легко пойму API. API был разработан еще в 2012..
Жду вторую часть.
Жду вторую часть.