Описание тега functional-programming

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

В Лиспе, как вы добавляете данный элемент к каждому списку внутри данного списка?

Вот что у меня так далеко: (defun append-all(x L) (if (null L) L (cons (append (car L) x) (append-all x (cdr L)))) ) ) Выход: (append-all '3 '((1) (2 1) (2))) ((1 . 3) (2 1 . 3) (2 . 3)) Хочу: ((1 3) (2 1 3) (2 3)) Это вспомогательная функция, поэто…
22 янв '13 в 22:06
1 ответ

Используйте моноиды для вычисления частотной карты слов

Я изучаю книгу функционального программирования в Scala. глава 10, упражнение 20, для реализации следующего метода: def frequencyMap(strings: IndexedSeq[String]): Map[String, Int] честно говоря, у меня нет решения, поэтому я проверил ответ из GIT: d…
07 апр '14 в 03:25
2 ответа

OCaml "с" охранником в сопоставлении с образцом

Я прочитал о шаблонных охранниках на code.google.com, где показан этот тип охранников: match x with | pat with g = y -> z | ... | pat with g = y -> z В OCaml 4.02 однако, похоже, не работает (Syntax error: pattern expected.), поэтому возникает…
1 ответ

Распакуйте список, разбейте на пары и рассчитайте разницу

Я хочу рассчитать разницу во времени между входом и выходом для каждого идентификатора. Данные в формате: String,Long,String,List[String] ====================================== in, time0, door1, [id1, id2, id3, id4] out, time1, door1, [id1, id2, id3…
18 фев '15 в 19:26
2 ответа

F#: целые числа в пару целых чисел

У меня есть функция, которая принимает список целых чисел в качестве аргумента и возвращает список пар в результате. Например, [1;2;3;4] должен быть возвращен как [(1, 2); (3, 4)] Я реализовал нижеприведенную функцию для этого. let listToPairList (l…
08 ноя '18 в 12:05
2 ответа

Функции zip/unzip в R

Я ищу такие функции, как zip/unzip в функциональных языках программирования (например, Haskell, Scala). Примеры из ссылки на Haskell. Почтовый индекс: Input: zip [1,2,3] [9,8,7] Output: [(1,9),(2,8),(3,7)] Распакуйте: Input: unzip [(1,2),(2,3),(3,4)…
29 ноя '16 в 01:48
3 ответа

Как я могу поменять порядок приложений в определенной функции F#?

Учитывая общую функцию f:a->b->c Я хочу создать функцию, которая делает то же самое / вычисление, что и f, но с изменением порядка двух входных параметров (или порядка каррирования). Итак, ищу g:b->a->c где g выполняет те же вычисления, …
04 май '15 в 11:10
3 ответа

Является ли либо эквивалент проверенных исключений?

Начиная с Scala и читая о Either Я естественно сравниваю новые понятия с тем, что знаю (в данном случае с Java). Есть ли отличия от концепции проверенных исключений и Either? В обоих случаях возможность сбоя явно аннотирована в методе (throws или во…
30 май '12 в 14:33
1 ответ

OCaml пишет функцию тайм-аута с использованием Async

Я пытаюсь написать функцию, которая пытается оценить функцию, но останавливается после определенного времени ожидания. Я пытался использовать Deferred.any, который возвращает отложенное, которое выполняется, когда выполняется одно из базовых отложен…
2 ответа

Композиция функций JavaScript из 3-х функций

Я использую Vue и пытаюсь отфильтровать массив результатов с помощью композиции функции JS. Мои вычисленные значения Vue похожи, но не могут получить filteredByAll принять третий вариант getByThing, Прямо сейчас filterByAll просто фильтрует поиск по…
1 ответ

Использование Foldr и Bind, чтобы завершить ничто

Итак, по сути, у меня есть некоторая монадическая функция, завернутая в MaybeT Я хочу использовать Nothing в качестве завершающего случая для рекурсии Мое понимание foldr является то, что, если он может произвести результат, не занимая весь список, …
27 июн '12 в 02:05
1 ответ

Заставить R.pipe работать с Promise?

Фон У меня есть простой код, который составляет функции для печати Hello Mars!: var greeting = () => "Hello "; var dbQuery = str => Promise.resolve( `${str} Mars` ); var phrase = R.pipeP( greeting, dbQuery, R.flip( R.concat )("!") ); phrase();…
09 янв '18 в 14:07
1 ответ

Используйте атрибуты для кортежей значений

В C# 7.0.NET вводит новые типы кортежей возвращаемого значения (функциональное программирование), поэтому вместо: [NotNull] WrapperUser Lookup(int id) Я хотел бы использовать кортежи значений: (User, Info) Lookup(int id) И я хочу использовать атрибу…
13 фев '17 в 07:56
2 ответа

SML/NJ - связанный список, который может содержать любые типы

Я пытаюсь создать тип данных для связанного списка, который может содержать все типы одновременно, то есть связанный список элементов void *, разработка заключается в создании Node тип данных, который содержит запись, содержит Value а также Next, То…
25 фев '13 в 22:54
6 ответов

Как объединить две переменные Option[String] в одну при использовании flatMap в Scala?

У меня есть следующий класс: case class Profile(email: Option[String], firstName: Option[String], lastName: Option[String], fullName: Option[String]) Теперь я хочу удалить fullName атрибут, потому что это избыточно. Тем не менее, у меня есть метод в…
19 май '16 в 08:28
0 ответов

Как использовать Free с парами в fs2?

Допустим, я хочу прочитать данные из jms, отобразить их через toUpperCase и отправить в другое место. Поэтому я абстрагируюсь от реальной системы обмена сообщениями с Jms[A], право? trait Jms[A] case object Pull extends Jms[String] case class Push(s…
11 ноя '16 в 10:00
3 ответа

Как бы я сделал эквивалент Enumerator.detect Prototype в Perl с наименьшим количеством кода?

В последнее время я много думал о функциональном программировании. Perl предлагает довольно много инструментов, чтобы пойти по этому пути, однако есть кое-что, что я пока не смог найти. Прототип имеет функцию обнаружения для перечислителей, описания…
18 янв '10 в 22:40
8 ответов

Неизменяемые функциональные объекты в сильно изменяемой области

В настоящее время я изучаю функциональное программирование в свое свободное время в Scala, и у меня возник вопрос в новичке. Я вижу элегантность наличия неизменных объектов при выполнении чего-то вроде вычисления вейвлет-преобразования Хаара - то ес…
03 окт '08 в 11:16
1 ответ

Как функции определены в схеме?

Согласно моему назначению, некоторые значения, определенные ниже в нотации схемы, являются функциями. Мне нужно определить значение, если это не функция. В противном случае я должен определить, что вычисляет функция. First: (define res (+ 1 1)) Seco…
19 мар '18 в 21:27
2 ответа

Первая попытка на Haskell: преобразование строчных букв в прописные

Я недавно начал изучать Haskell, и я попытался создать функцию для преобразования слова в нижнем регистре в слово в верхнем регистре, это работает, но я не знаю, насколько это хорошо, и у меня есть несколько вопросов. Код: lowerToUpperImpl element l…
09 дек '13 в 19:27