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

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

2
Обходной путь для выполнения операций над двусвязными или циклическими структурами данных в языках с неизменяемыми данными
Я хотел бы узнать, как создавать графики и выполнять некоторые локальные операции над ними в Haskell, но этот вопрос не является специфическим для Haskell, и вместо графиков мы можем рассмотреть двусвязные списки. Вопрос: Каким был бы идиоматический или рекомендуемый способ реализации двусвязного списка (или другой двусвязной или круговой структуры данных) …

2
Являются ли (базовые) запросы SQL семантически эквивалентными функциям высшего порядка?
Является ли SQL в основном специфичным для домена экземпляром map + fold + filter? Мне кажется, что следующий SQL: SELECT name FROM fruits WHERE calories < 100 просто синтаксический сахар для следующей операции map + filter + fold: var fruits = [{id : 1, name: 'orange', calories : 100}, {id …

2
Есть ли причина не использовать Optional в качестве аргумента метода в том случае, если вы знаете, что аргумент является чем-то, что может или не может быть необходимо?
С Java 8 я видел все больше и больше статей об использовании Option / Optional. Я понимаю, что они пытаются изобразить, и вижу много примеров того, как они используются в качестве возвратов. Однако я не вижу, чтобы они использовались в качестве аргументов метода / функции в языках, в которых нет …

3
Побочные эффекты, нарушающие ссылочную прозрачность
Функциональное программирование в Scala объясняет влияние побочного эффекта на нарушение прозрачности ссылок: побочный эффект, который подразумевает некоторое нарушение ссылочной прозрачности. Я прочитал часть SICP , в которой обсуждается использование «модели замещения» для оценки программы. Поскольку я примерно понимаю модель замещения с ссылочной прозрачностью (RT), вы можете разложить функцию на ее …

1
Почему большинство анонимных функций не могут быть скомпилированы JIT и никогда не будут оптимизированы?
Я только что прочитал https://techfindings.one/archives/2652 о функциональном программировании и натолкнулся на это: анонимные функции часто не могут быть скомпилированы JIT и никогда не будут оптимизированы Может кто-нибудь объяснить мне, почему это так?

2
Ведение государства без присваивания
Я изучаю функциональное программирование, и у меня возникают проблемы с пониманием того, как некоторые конкретные сценарии реализуются без использования заданий. Следующая простая проблема в значительной степени подводит итог моей путаницы. Напишите программу, которая получает события об изменениях в данной структуре данных и генерирует события, когда эта структура данных достигает определенного …

4
Как называется функциональный аргумент в сгибе
В функции более высокого порядка сложите / уменьшите, как называется функциональный аргумент, если он есть? Я работаю над библиотекой монадической табличной обработки, где строки складываются, чтобы произвести простой анализ (например, найти минимум, максимум, среднее для столбца). Поэтому я ищу надежное имя для аргумента foldфункции, и любое имя, хорошо известное в …

5
Может ли чисто функциональное решение этой проблемы быть таким же чистым, как императив?
У меня есть упражнение на Python следующим образом: многочлен задается в виде набора коэффициентов, так что степени определяются индексами, например: (9,7,5) означает 9 + 7 * x + 5 * x ^ 2 написать функцию для вычисления ее значения для данного х Так как в последнее время я занимаюсь функциональным …

2
Куда мы помещаем код «спрашивая мир», когда отделяем вычисления от побочных эффектов?
В соответствии с принципом разделения команд и запросов , а также мышлением в данных и DDD с презентациями Clojure следует отделять побочные эффекты (изменяющие мир) от вычислений и решений, чтобы было легче понять и протестировать обе части. Это оставляет без ответа вопрос: где относительно границы мы должны поставить «спрашивать мир»? …

7
Как познакомить вашу команду с функциональным стилем кодирования?
У меня есть ситуация, когда большинство людей в моей группе происходят из объектно-ориентированного программирования, практически не понимая функционального программирования. Даже основы, такие как замыкания. Любые предложения о том, что может быть хорошим способом познакомить их с функциональным стилем кодирования? Много кода, который мы делаем, можно сократить, если мы сделаем функциональный …

3
Длинный список параметров и длинный список переменных состояния
В книге C ++ автор говорит, что нам больше не нужна функция с длинным списком параметров, потому что большинство параметров могут быть преобразованы в переменные состояния в классе. С другой стороны, книга по функциональному программированию говорит, что переменные состояния являются злыми, потому что они вызывают побочные эффекты, которые вызывают склонность …

4
STDOUT и его примеси
Я прочитал много книг и статей о функциональном программировании и до сих пор стыдно за то, что не смог понять некоторые основные понятия. Одна из основных идей функционального программирования заключается в том, что один и тот же вход всегда должен давать один и тот же результат. Поэтому, скажем, запрос к …

3
Есть ли у языков функционального программирования больше возможностей для оптимизации времени компиляции?
Я читал книгу «Функциональное программирование для реального мира». Началось со сравнения императивного и функционального языков программирования. И там указывалось, как «значения» и «выражения» в функциональном программировании отличаются от «переменных» и «функций» императивного программирования. Из обсуждения я разработал идею, что - Функциональные языки программирования имеют больше возможностей для оптимизации времени компиляции, …

5
Было бы хорошо, если бы я решил написать весь свой Ruby, как если бы это был Haskell?
Учитывая, что у Ruby есть хорошие встроенные возможности работы со списками - уменьшить, отобразить, выбрать, собрать и т. Д. Он имеет Procs, Blocks и Lambdas, и имеет хорошую поддержку итераций ( eachсемейство), было бы плохим решением при разработке, если я попытаюсь написать все мои вещи в Ruby максимально функциональным способом? …

6
Должен ли я подобрать функциональный язык программирования?
В последнее время меня больше беспокоит то, как я пишу свой код. Прочитав несколько книг о шаблонах проектирования (и, я уверен, переусердствовал в их реализации), я сильно изменил свое мышление в сторону воплощения того, что изменилось. Я склонен замечать, что я пишу меньше интерфейсов и больше методо-ориентированного кода, где я …

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