Вопросы с тегом «functional-programming»

112
Понимание, почему Zipper - это Comonad

Это продолжение ответа на мой предыдущий вопрос. Предположим , что мне нужно отобразить каждый элемент a:Aиз List[A]к b:Bс функцией def f(a:A, leftNeighbors:List[A]): Bи генерировать List[B]. Очевидно, я не могу просто вызвать mapсписок, но могу использовать застежку-молнию . Застежка-молния - это...

112
Декартово произведение нескольких массивов в JavaScript

На этот вопрос есть ответы на Stack Overflow на русском : Декартово произведение нескольких массивов Как бы вы реализовали декартово произведение нескольких массивов в JavaScript? Например, cartesian([1, 2], [10, 20], [100, 200, 300]) должен вернуться [ [1, 10, 100], [1, 10, 200], [1, 10, 300],...

109
Что за суета насчет Haskell? [закрыто]

В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно...

108
Разработка F # и модульное тестирование?

Я только начал работать с F #, моим первым функциональным языком. Я работал почти исключительно с C #, и мне очень нравится, как F # заставляет меня переосмыслить то, как я пишу код. Один аспект, который меня немного дезориентирует, - это изменение в процессе написания кода. Я уже много лет...

106
Функциональные шаблоны проектирования [закрыто]

Закрыто. Этот вопрос не соответствует рекомендациям по переполнению стека . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме Stack Overflow. Закрыт 4 года назад . Уточните этот вопрос Существует множество функциональных идиом:...

103
Как я могу использовать функциональное программирование в реальном мире? [закрыто]

Закрыто . Этот вопрос должен быть более конкретным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он фокусировался только на одной проблеме, отредактировав этот пост . Закрыт 5 лет назад . Уточните этот вопрос Функциональные языки хороши тем, что...

103
Что такое стиль «без точек» (в функциональном программировании)?

Фраза, которую я недавно заметил, - это концепция стиля «без точек» ... Сначала был этот вопрос, а также этот . Затем я обнаружил, что здесь упоминается: «Еще одна тема, которую, возможно, стоит обсудить, - это неприязнь авторов к безточечному стилю». Что такое стиль «без точек»? Может кто-нибудь...

100
Есть ли в чистых функциональных языках алгоритм для получения обратной функции?

В чистых функциональных языках, таких как Haskell, есть ли алгоритм, позволяющий получить обратную функцию (редактировать), если она биективна? И есть ли какой-то особый способ запрограммировать вашу функцию?...

100
Функция карты в MATLAB?

Я немного удивлен, что в MATLAB нет функции Map, поэтому я сам взломал ее, потому что без нее я не могу жить. Есть ли лучшая версия? Есть ли какая-то стандартная библиотека функционального программирования для MATLAB, которую мне не хватает? function results = map(f,list) % why doesn't MATLAB have...

100
Композиция Haskell (.) Против оператора прямой передачи в F # (|>)

В F # |>довольно часто используется оператор конвейерной передачи ,. Однако в Haskell я видел только использование композиции функций (.). Я понимаю, что они связаны , но есть ли языковая причина, по которой конвейерная передача не используется в Haskell, или это что-то еще?...

100
Установить операции (объединение, пересечение) в массиве Swift?

Существуют ли какие-либо стандартные вызовы библиотеки, которые я могу использовать для выполнения операций с двумя массивами или для самостоятельной реализации такой логики (в идеале как можно более функционально и эффективно)?...

99
Как узнать, когда использовать складывание влево, а когда - вправо?

Я знаю, что fold-left создает деревья с наклоном влево, а fold-right создает деревья с наклоном вправо, но когда я тянусь к сгибу, я иногда зацикливаюсь на вызывающих головную боль мыслях, пытаясь определить, какой тип сгиба подходит. Обычно я закрываю всю проблему и перехожу к реализации функции...

99
val-mutable против var-immutable в Scala

Есть ли в Scala какие-либо рекомендации относительно того, когда использовать val с изменяемой коллекцией по сравнению с использованием var с неизменяемой коллекцией? Или вам действительно стоит стремиться к val с неизменной коллекцией? Тот факт, что существуют оба типа коллекции, дает мне большой...

98
Какие самые интересные эквивалентности возникают из изоморфизма Карри-Ховарда?

Я столкнулся с изоморфизмом Карри-Ховарда относительно поздно в моей жизни программирования, и, возможно, это способствует тому, что я полностью им очарован. Это означает, что для каждой концепции программирования существует точный аналог в формальной логике, и наоборот. Вот "базовый" список таких...

98
Функциональное программирование - стоит ли неизменность дорого? [закрыто]

В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно...

97
Что такое ES6-эквивалент Python enumerate для последовательности?

Python имеет встроенную функциюenumerate для получения итерации (index, item)пар. Есть ли у ES6 эквивалент для массива? Что это такое? def elements_with_index(elements): modified_elements = [] for i, element in enumerate(elements): modified_elements.append("%d:%s" % (i, element)) return...

97
почему сказка и рамда такие разные?

Я изучаю javascript FP, читая книгу DrBoolean . Я искал библиотеку функционального программирования. Я нашел Рамду и Сказку. Оба претендуют на звание библиотеки функционального программирования. Но они такие разные: Ramda, кажется, содержит служебные функции для работы со списком: карта,...