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

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

6
Какое двоичное дерево вы бы порекомендовали?
Я изучаю Haskell и в качестве упражнения создаю бинарные деревья. Сделав обычное двоичное дерево, я хочу адаптировать его к самобалансирующемуся. Так: Какой самый эффективный? Что проще всего реализовать? Что чаще всего используется? Но главное, что вы рекомендуете? Я предполагаю, что это принадлежит здесь, потому что это открыто для обсуждения.

2
Что функциональные программисты используют вместо UML?
Я студент CS. В настоящее время я посещаю лекции, где нас учат объективному анализу и дизайну. Он состоит в основном из написания сценариев использования, анализа проблемы, с которой мы можем столкнуться при написании какого-либо приложения для клиента, и того, как спроектировать проект так, чтобы он был расширяемым, понятным для разработчиков …

4
Совпадение шаблонов с типами идиоматическое или плохой дизайн?
Кажется, что код F # часто сопоставляется с типами. Конечно match opt with | Some val -> Something(val) | None -> Different() кажется обычным. Но с точки зрения ООП это выглядит очень похоже на поток управления, основанный на проверке типа во время выполнения, которая обычно вызывает недовольство. Чтобы объяснить это, …

1
Являются ли функции генератора действительными в функциональном программировании?
Вопросы: Разрушают ли генераторы парадигму функционального программирования? Почему или почему нет? Если да, могут ли генераторы использоваться в функциональном программировании и как? Учтите следующее: function * downCounter(maxValue) { yield maxValue; yield * downCounter(maxValue > 0 ? maxValue - 1 : 0); } let counter = downCounter(26); counter.next().value; // 26 counter.next().value; …

5
Является ли функция немедленно нечистой, если она принимает функцию в качестве параметра?
Так как чистота входного параметра неизвестна до времени выполнения, считается ли функция немедленно нечистой, если она принимает функцию в качестве входного параметра? Связано: если функция применяет чистую функцию, которая определена вне функции, но не передана в качестве параметра, будет ли она все еще чистой, если она удовлетворяет критериям отсутствия побочных …

4
Является ли польза от модели моно IO для обработки побочных эффектов чисто академической?
Извините за еще один вопрос о побочных эффектах FP +, но я не смог найти существующий, который вполне ответил на этот вопрос для меня. Мое (ограниченное) понимание функционального программирования заключается в том, что побочные эффекты состояния должны быть минимизированы и отделены от логики без сохранения состояния. Я также понял, что …

5
Что делает функциональные языки программирования декларативными, а не императивными?
Во многих статьях, описывающих преимущества функционального программирования, я видел функциональные языки программирования, такие как Haskell, ML, Scala или Clojure, называемые «декларативными языками», отличными от императивных языков, таких как C / C ++ / C # / Java. Мой вопрос заключается в том, что делает функциональные языки программирования декларативными, а не …

4
Функциональное программирование добавляет сложности в коде? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . За весь прошлый год я написал Scala- код (исходящий из Java-фона). Мне очень понравилось, …

4
Использование постоянных структур данных в нефункциональных языках
Языки, которые являются чисто функциональными или почти чисто функциональными, извлекают выгоду из постоянных структур данных, потому что они неизменны и хорошо соответствуют стилю функционального программирования без сохранения состояния. Но время от времени мы видим библиотеки постоянных структур данных для языков (на основе состояний, ООП), таких как Java. Утверждение, часто звучащее …

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

3
Ur / Web новый чисто функциональный язык для веб-программирования? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Я наткнулся на проект Ur / Web во время поиска веб-фреймворков для языков, похожих …

6
Язык, основанный на ограниченном количестве аргументов, передаваемых функциям
Идея вдохновлена ​​тем фактом, что операторы фактов, такие как +, -,% и т. Д., Могут рассматриваться как функции с одним или двумя переданными аргументами, без побочных эффектов. Предполагая, что я или кто-то еще пишет язык, который останавливает передачу более двух аргументов, а также работает только через возвращаемое значение: а) приведет …

2
Что такое Comonad и чем они полезны?
Недавно я стер свои знания о том, как работают монады. Я также был введен в понятие «комонадой» , которая описывается как обратный двойной монады . Тем не менее, я не могу обернуть голову вокруг этого. Чтобы понять монады, я сделал для себя аналогию: Монады можно рассматривать как «план построения конвейерных …

5
Является ли семантический контракт интерфейса (ООП) более информативным, чем сигнатура функции (ФП)?
Некоторые говорят, что если вы доведете принципы SOLID до крайности, вы в конечном итоге окажетесь в функциональном программировании . Я согласен с этой статьей, но думаю, что при переходе от интерфейса / объекта к функции / закрытию теряется некоторая семантика, и я хочу знать, как функциональное программирование может уменьшить потери. …

2
Полезен ли параметрический полиморфизм более высокого ранга?
Я уверен, что все знакомы с общими методами формы: T DoSomething<T>(T item) Эта функция также называется параметрически полиморфной (ПП), а именно ПП ранга 1 . Допустим, этот метод может быть представлен с помощью функционального объекта в форме: <T> : T -> T То есть <T>означает, что он принимает один параметр …

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