Вопросы по теме 'lazy-sequences'
как провести юнит-тест на лень
У меня есть функция, которая должна принимать ленивую последовательность и возвращать нереализованную ленивую последовательность. Теперь я хочу написать модульный тест (кстати, test-is), чтобы убедиться, что результатом является нереализованная...
1659 просмотров
schedule
08.11.2023
Clojure: ленивая магия
Почти 2 идентичные программы для генерации бесконечных ленивых последовательностей рандомов. Первый не вылетает. Второй сбой с исключением OutOfMemoryError. Почему?
;Return infinite lazy sequence of random numbers
(defn inf-rand[] (lazy-seq...
999 просмотров
schedule
22.04.2022
Как мне написать предикат, который проверяет, существует ли значение в бесконечной последовательности?
Сегодня у меня возникла идея функции высшего порядка, которую я не знаю, как писать. У меня есть несколько разреженных ленивых бесконечных последовательностей, и я хочу создать абстракцию, которая позволяет мне проверять, входит ли данное число в...
866 просмотров
schedule
02.05.2022
Как создать анонимную рекурсивную функцию, генерирующую ленивую последовательность, в Clojure?
Редактировать : я нашел частичный ответ на свой вопрос в процессе написания этого, но я думаю, что его можно легко улучшить, поэтому я все равно опубликую его. Может быть, есть лучшее решение?
Я ищу простой способ определить рекурсивные функции в...
1401 просмотров
schedule
10.09.2022
Нелинейное замедление, создающее ленивую последовательность в Clojure
Я реализовал функцию, которая возвращает n-граммы заданной коллекции ввода как ленивую последовательность.
(defn gen-ngrams
[n coll]
(if (>= (count coll) n)
(lazy-seq (cons (take n coll) (gen-ngrams n (rest coll))))))
Когда я...
243 просмотров
schedule
02.07.2023
остановить и разделить сгенерированную последовательность на повторах - clojure
Я пытаюсь создать последовательность, которая будет генерировать значения только до тех пор, пока не найдет следующие условия и не вернет перечисленные результаты:
головка корпуса =
0 - вернуть {:origin [все сгенерировано, кроме 0] :pattern 0}...
333 просмотров
schedule
06.05.2022
Время реализации ленивой последовательности
(defn square [x]
(do
(println (str "Processing: " x))
(* x x)))
(println (map square '(1 2 3 4 5)))
Почему выход
(Processing: 1
Processing: 2
1 Processing: 3
4 Processing: 4
9 Processing: 5
16 25)
нет
(Processing: 1...
220 просмотров
schedule
20.05.2022
Могу ли я пошагово обработать нереализованный lazy-seq
У меня есть lazy-seq, где каждый элемент требует времени для вычисления:
(defn gen-lazy-seq [size]
(for [i (range size)]
(do
(Thread/sleep 1000)
(rand-int 10))))
Можно ли поэтапно оценить эту последовательность и распечатать...
429 просмотров
schedule
29.04.2022
Immutable.js — ленивая последовательность
Недавно я услышал о библиотеке Facebook Immutable.js ( https://github.com/facebook/immutable-js ). Меня смущает следующее из их документации:
var oddSquares = Immutable.Sequence(1,2,3,4,5,6,7,8)
.filter(x => x % 2).map(x => x * x);...
2447 просмотров
schedule
01.04.2023
Ленивые фибоначчи в Ruby
Я могу написать ленивый фибоначчи в Clojure следующим образом:
(def fib (lazy-cat [1 1] (map +' fib (rest fib))))
и я пытаюсь (безуспешно) написать это на Ruby следующим образом:
fib = Enumerator.new do |yielder|
yielder << 1...
570 просмотров
schedule
18.07.2022
идиоматические ленивые атомы в clojure
Я немного играю с атомами в clojure. У меня atom указывает на lazy-seq . В другом фрагменте кода я хочу обновить значение атома до результата выполнения next в последовательности, но, учитывая, что и swap! , и reset! возвращают выполнение...
456 просмотров
schedule
10.11.2022
Написание хорошего Scala без сопрограмм (включая пример Python с использованием yield)
В настоящее время я изучаю Scala и ищу элегантное решение проблемы, которая легко решается с помощью сопрограмм.
Поскольку сопрограммы не включены по умолчанию в Scala, я предполагаю, что они, по крайней мере, не являются общепринятой передовой...
150 просмотров
schedule
16.04.2023
объединение двух ленивых списков, конфликт типов
Почему моя функция merge жалуется на свой тип?
Разве мой x не type 'a seq ?
type 'a seq = Stop | Cons of 'a * (unit -> 'a seq)
let rec linear start step= (*builds a seq starting with 'start'*)
Cons (start, fun () -> linear...
225 просмотров
schedule
04.08.2022
Clojure: извлечение карт с определенными значениями из Lazy Sequence
У меня есть ленивая последовательность Clojure:
{
{:keyOne 123, :keyTwo "TestVal"}
{:keyOne 456, :keyTwo "Value2"}
{:keyOne 789, :keyTwo "TestVal"}
}
Я хочу получить карты, которые имеют определенное значение для данного ключа,...
282 просмотров
schedule
21.07.2022
почему clojure не работает при компиляции в .jar
в соответствии с этим примером он отлично работает в REPL, но когда он скомпилирован в .jar (с использованием lein uberjar) и выполнен с помощью java -jar test.jar, вывод цикла for не отображается. Вопрос - что не так?
(ns fortest.core...
47 просмотров
schedule
10.07.2023
Как преобразовать состояние возврата Prolog для выполнения той же задачи, что и lazy seq из Clojure?
Вот алгоритм быстрой сортировки чисел, написанных на Clojure. По сути, это алгоритм быстрой сортировки из "The Joy of Clojure" , 2-е издание, стр. 133. Я немного изменил его для (надеюсь) лучшей читаемости, потому что оригинал казался слишком...
231 просмотров
schedule
08.05.2022
Кэшируют ли Kotlin Sequences промежуточные результаты?
При работе с последовательностями Kotlin с функциональными API, такими как map , flatMap , + и т. д., вычисленные промежуточные результаты кэшируются, поэтому при второй оценке нет повторного вычисления?
В противном случае замена List s на...
128 просмотров
schedule
02.04.2022
Как вы можете передать итерируемый объект нескольким потребителям в постоянном пространстве?
Как вы можете передать итерируемый объект нескольким потребителям в постоянном пространстве?
TLDR
Напишите реализацию, которая проходит следующий тест в CONSTANT SPACE, рассматривая min , max и sum как черные ящики.
def...
122 просмотров
schedule
04.04.2024
Попытка разбить строку в Clojure сталкивается с проблемой ленивого seq
Я работаю над проблемой чтения файла с такими строками, как:
A abcdefg
B bcdefgh
Но я продолжаю получать ошибки о Lazy Sequence, несовместимой с Java Charseq ..
Я пытался:
(def notlazy (doall lyne2))
Потом подумал, что проверил:...
132 просмотров
schedule
23.10.2022
Отбрасывает ли Haskell промежуточные результаты во время ленивой оценки?
Если я определяю последовательность Фибоначчи рекурсивно:
fibo_lazy_list = 0 : 1 : zipWith (+) fibo_lazy_list (tail fibo_lazy_list)
Затем запросите первый элемент выше заданного значения, скажем:
print $ find (>100) fibo_lazy_list
Я...
86 просмотров
schedule
27.05.2023