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

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

3
Каков статус текущих реализаций функционального реактивного программирования?
Я пытаюсь визуализировать некоторые простые автоматические физические системы (такие как маятник, манипуляторы и т. Д.) В Haskell. Часто эти системы можно описать уравнениями типа df/dt = c*f(t) + u(t) где u(t)представляет собой своего рода «интеллектуальное управление». Эти системы очень хорошо вписываются в парадигму функционального реактивного программирования. Итак, я взял книгу …


9
Когда использовать функциональный язык программирования?
В каких ситуациях я должен выбрать использование функционального языка программирования вместо более подробного объектно-ориентированного языка, такого как C ++, C # или Java? Я понимаю, что такое функциональное программирование, но на самом деле не понимаю, для каких типов проблем это идеальное решение?


7
Почему проще написать компилятор на функциональном языке? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы на него можно было ответить с помощью фактов и цитат, отредактировав этот пост . Закрыт 2 года назад . Уточните этот вопрос Я очень долго думал над этим …


19
Уместно ли функциональное программирование в веб-разработке? [закрыто]
Закрыто . Этот вопрос требует подробностей или ясности . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Добавьте подробности и проясните проблему, отредактировав этот пост . Закрыт 22 дня назад . Уточните этот вопрос В последнее время я так много видел о функциональном программировании, и Clojure выглядит …

11
Прервать преждевременное сгибание
Как лучше всего прервать фолд раньше срока? В качестве упрощенного примера представьте, что я хочу суммировать числа в Iterable, но если я встречу что-то, чего я не ожидаю (скажем, нечетное число), я, возможно, захочу завершить. Это первое приближение def sumEvenNumbers(nums: Iterable[Int]): Option[Int] = { nums.foldLeft (Some(0): Option[Int]) { case (Some(s), …


2
Что является комбинаторно-логическим эквивалентом интуиционистской теории типов?
Недавно я закончил университетский курс, посвященный Haskell и Agda (зависимый типизированный функциональный язык программирования), и мне было интересно, можно ли заменить в них лямбда-исчисление комбинаторной логикой. В Haskell это кажется возможным с использованием комбинаторов S и K, что делает его бессмысленным. Мне было интересно, что было эквивалентом для Агды. То …

5
Ленивая генерация перестановок
Я ищу алгоритм для генерации перестановок набора таким образом, чтобы я мог сделать их ленивый список в Clojure. т.е. я хотел бы перебрать список перестановок, где каждая перестановка не вычисляется до тех пор, пока я ее не запрошу, и все перестановки не должны храниться в памяти сразу. В качестве альтернативы …

14
Функциональные каналы в Python, такие как%>% от R magrittr
В R (благодаря magrittr ) теперь вы можете выполнять операции с более функциональным синтаксисом конвейера через %>%. Это означает, что вместо кодирования этого: > as.Date("2014-01-01") > as.character((sqrt(12)^2) Вы также можете сделать это: > "2014-01-01" %>% as.Date > 12 %>% sqrt %>% .^2 %>% as.character Для меня это более читабельно, и …

7
В чем разница между eq ?, eqv ?, equal? ​​И = в схеме?
Интересно, в чем разница между этими операциями в схеме. Я видел похожие вопросы в Stack Overflow, но они касаются Lisp, и нет сравнения между тремя из этих операторов. Я пишу различные типы команд на схеме и получаю следующие результаты: (eq? 5 5) -->#t (eq? 2.5 2.5) -->#f (equal? 2.5 2.5) …

13
Можете ли вы объяснить замыкания (поскольку они относятся к Python)?
Я много читал о замыканиях и думаю, что понимаю их, но, не омрачая картины для себя и других, я надеюсь, что кто-нибудь сможет объяснить замыкания настолько кратко и ясно, насколько это возможно. Я ищу простое объяснение, которое могло бы помочь мне понять, где и почему я хотел бы их использовать.

1
Различие между классами типов MonadPlus, Alternative и Monoid?
Классы типов Haskell стандартной библиотеки MonadPlus, Alternativeи Monoidкаждый предоставляют два метода с практически одинаковой семантикой: Пустое значение: mzero, emptyили mempty. Оператор , a -> a -> aкоторый соединяет значения в классе типов вместе: mplus, <|>или mappend. Все три указывают эти законы, каких случаев следует придерживаться: mempty `mappend` x = x …

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