Вопросы по теме 'purely-functional'
Когда можно изменять переменную в функциональных языках?
Итак, я учу себя функциональному программированию с использованием Racket Scheme, и пока мне это нравится. В качестве упражнения для себя я пытался реализовать несколько простых задач чисто функциональным способом. Я знаю, что неизменность - важная...
937 просмотров
schedule
14.11.2021
Эквивалент вложенного совпадения в Rust
Я пытаюсь реализовать чисто функциональное красно-черное дерево в Rust, следуя примеру Окасаки. Когда я вставляю в красно-черное дерево, мне, возможно, придется вставить в дерево. Вот код Haskell для функции balance :
balance :: Ord a =>...
53 просмотров
schedule
17.10.2021
Параллельный подсчет с использованием функционального подхода и неизменяемых структур данных?
Я слышал и принимал аргумент о том, что мутация и состояние вредны для параллелизма. Но мне сложно понять, какие на самом деле правильные альтернативы?
Например, если посмотреть на простейшую из всех задач: подсчет, например подсчет слов в...
55 просмотров
schedule
04.10.2021
Clojure: работа с java.util.HashMap в идиоматической манере Clojure
У меня есть объект java.util.HashMap m (возвращаемое значение из вызова кода Java), и я хочу получить новую карту с дополнительной парой ключ-значение.
Если бы m была картой Clojure, я мог бы использовать:
(assoc m "key" "value")
Но...
15022 просмотров
schedule
28.02.2022
Как рассматривать функции высшего порядка и действия ввода-вывода с математической точки зрения?
Я пытаюсь понять функциональное программирование с первых принципов, но я застрял на стыке между чистым функциональным миром и нечистым реальным миром, который имеет состояние и побочные эффекты. С математической точки зрения,
что такое функция,...
183 просмотров
schedule
25.02.2022
Побочные эффекты в Scala
Я изучаю Scala прямо сейчас. Я немного знаком с Haskell, хотя не могу утверждать, что знаю его хорошо.
Примечание в скобках для тех, кто не знаком с Haskell
Одна черта, которая мне нравится в Haskell, заключается в том, что не только функции...
4747 просмотров
schedule
07.04.2022
Могут ли чистые функции быть асинхронными?
Проходя через определение чистых функций, он обычно определяется двумя трейтами:
1) Должен выдавать одинаковый результат при одном и том же входе
2) Не должно вызывать побочных эффектов.
Означает ли это также, что чистая функция не должна...
1351 просмотров
schedule
30.05.2022
Вопрос о равенстве строк в Scala из интервью по программированию
Поскольку мне нравилось программировать на Scala, для интервью в Google я попросил их задать мне вопрос о стиле Scala/функциональном программировании. Вопрос о функциональном стиле Scala, который я получил, был следующим:
У вас есть две строки,...
713 просмотров
schedule
30.08.2022
Как я могу правильно перебирать этот список
Следующий пример является упрощением задачи. У меня есть список [Either Foo Bar] и еще один список [Biz] . Идея состоит в том, что я перебираю каждый элемент Biz через [Either Foo Bar] , с начала [Either Foo Bar] , пока Biz не станет...
111 просмотров
schedule
06.09.2022
Понимание порядка оценки и выполнения с синтаксисом точки с запятой
Я уже немного узнал о точках с запятой FFL из моего предыдущего вопроса . Однако до сих пор неясно, какой порядок оценки или выполнения они применяют. Итак, вот более конкретный пример:
[ expr_a, expr_b ; expr_c, expr_d ; expr_e, expr_f ]...
36 просмотров
schedule
21.09.2022
Как реализовать раннюю логику возврата в F#
Я знаком с тем фактом, что в F# нет эквивалентного ключевого слова return.
Однако недавно мы столкнулись с проблемой, когда нам понадобился рабочий процесс, состоящий из множества шагов, где каждый шаг может возвращать хороший или плохой результат....
3633 просмотров
schedule
17.06.2023
Kotlin: обновить неизменяемый элемент списка
Котлин для начинающих здесь. Как взять список и, не изменяя его, создать второй (неизменяемый) список с одним обновленным элементом по определенному индексу?
Я думаю о двух способах, оба из которых, похоже, могут привести к снижению...
23688 просмотров
schedule
04.11.2022
Чисто функциональный подход для создания уникального идентификатора
Это больше теоретический вопрос, но я чувствую, что должен быть способ сделать это.
У меня есть JS-компоненты, для которых при создании необходимо присвоить элементу html уникальный идентификатор, который не использовался ни в одном другом...
776 просмотров
schedule
07.03.2023
Статические методы близки к чистым методам?
Следуя требованиям чистого метода (метода, который не оказывает побочных эффектов на внешний мир), я обнаружил, что в большинстве случаев статические методы удовлетворяют этому требованию. Мы не можем получить доступ к переменным экземпляра в...
929 просмотров
schedule
21.01.2023
Как использовать оператор |› с функцией, которая ожидает два параметра?
kll : Float
kll =
let
half x =
x / 2
in
List.sum (List.map half (List.map toFloat (List.range 1 10)))
преобразование с использованием |>
Можете ли вы также объяснить, как правильно использовать |> с...
75 просмотров
schedule
05.01.2023
Можно ли сопоставить шаблон с параметром по имени без его оценки?
Играл с Lazy Structure Stream, как показано ниже
import Stream._
sealed trait Stream[+A] {
..
def toList: List[A] = this match {
case Empty => Nil
case Cons(h, t) => println(s"${h()}::t().toList");...
52 просмотров
schedule
12.11.2022
Могу ли я изменить переменную на месте чисто функциональным способом?
Я знаю, что могу использовать передачу состояния и монады состояния для чисто функциональной мутации, но на самом деле это не на месте, и я хочу получить преимущества в производительности, делая это на месте.
Пример был бы отличным, например....
110 просмотров
schedule
10.04.2023
Scala: Почему эта функция не хвостовая рекурсия?
У меня есть такая реализация сортировки слиянием:
import scala.annotation.tailrec
object MergeSort {
def sortBy[T]: ((T, T) => Int) => Seq[T] => Seq[T] = comparator => seqToSort => {
@tailrec
def merge(xs : Seq[T], ys :...
139 просмотров
schedule
04.11.2023
Как реализовать побочные эффекты в чистом функциональном программировании?
Я уже некоторое время занимаюсь концепцией функционального программирования и нахожу ее довольно интересной, увлекательной и захватывающей. Особенно потрясающая идея чистых функций во многих смыслах.
Но есть одна вещь, которую я не понимаю: как...
5657 просмотров
schedule
08.01.2024
Функциональная реализация рекурсивной сортировки слиянием?
несколько дней я пытался реализовать функциональную рекурсивную сортировку слиянием в Python. Кроме того, я хочу иметь возможность распечатать каждый шаг алгоритма сортировки. Есть ли способ заставить этот код Python работать в функциональной...
149 просмотров
schedule
01.02.2024