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

Функциональное программирование - это парадигма программирования, основанная на построении абстракций с использованием функций, избегая побочных эффектов и изменения состояния. Чистое функциональное программирование является поточно-ориентированным.

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

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

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

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


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

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

9
Функциональное программирование - стоит ли неизменность дорого? [закрыто]
В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, обратитесь за помощью …

10
Какие самые интересные эквивалентности возникают из изоморфизма Карри-Ховарда?
Я столкнулся с изоморфизмом Карри-Ховарда относительно поздно в моей жизни программирования, и, возможно, это способствует тому, что я полностью им очарован. Это означает, что для каждой концепции программирования существует точный аналог в формальной логике, и наоборот. Вот "базовый" список таких аналогий, невдомек: program/definition | proof type/declaration | proposition inhabited type …

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

6
Что такое 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 modified_elements print(elements_with_index(["a","b"])) #['0:a', '1:b'] Эквивалент ES6 без enumerate: function elements_with_index(elements){ return elements.map(element => elements.indexOf(element) + ':' …


14
Пример приложения Clojure среднего размера?
Есть ли пример приложения Clojure среднего размера, которое можно было бы использовать в качестве примера «передового опыта» и хорошего способа увидеть, как такое приложение будет выглядеть с точки зрения кода и организации кода? Для меня было бы особенно интересно веб-приложение, но самое главное, чтобы программа делала что-то обычно полезное (например, …

1
Что такое параморфизмы?
Читая эту классическую статью , я зацикливаюсь на параморфизмах. К сожалению, раздел довольно тонкий, и на странице Википедии ничего не сказано. Мой перевод на Haskell: para :: (a -> [a] -> b -> b) -> b -> [a] -> b para f base = h where h [] = base …

9
Каковы преимущества функционального программирования? [закрыто]
В настоящее время этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, потребует дебатов, аргументов, опросов или расширенного обсуждения. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, обратитесь за помощью …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.