Публикации по теме 'lazy-evaluation'
Ловушка ленивых вычислений Java Streams
Вернемся к упомянутой ранее истории. Во-первых, давайте создадим сценарий, который поможет нам понять проблему. Предположим, что наши бизнес-требования включают моделирование документов и контрактов.
Каждый документ, состоящий из разделов, может быть заверен на основании заключенного контракта. В нашем случае договор — это набор правил, определяющих ограничения для конкретных разделов документов.
Вот ошибочный код, который должен проверять документ в соответствии с данным..
Вопросы по теме 'lazy-evaluation'
Ленивый выбор в форме Django
У меня есть Django my_forms.py вот так:
class CarSearchForm(forms.Form):
# lots of fields like this
bodystyle = forms.ChoiceField(choices=bodystyle_choices())
Каждый выбор, например, («Седан», «Седан (15 машин)»). Таким образом,...
10275 просмотров
schedule
08.09.2021
Python, ленивый список
Возможно ли ленивое вычисление списка в Python?
Например
a = 1
list = [a]
print list
#[1]
a = 2
print list
#[1]
Если бы список был настроен на ленивое вычисление, то последняя строка была бы [2]
9960 просмотров
schedule
25.09.2021
Почему этот оператор Haskell не выполняет ленивое вычисление?
У меня определена следующая функция:
ex 1 x = 1
ex 0 x = 0
ex b x = b ** x
Затем, когда я выполняю следующее:
1 `ex` (sum [1..])
он пытается вычислить сумму бесконечной последовательности, вместо того, чтобы лениться и возвращать 1....
467 просмотров
schedule
09.10.2021
Почему в Scheme нет обещания типа данных?
Объект, возвращаемый delay в схеме, является «обещанием», но обещания не считаются типом (поэтому нет promise? процедуры, и он не указан как тип в R5RS или R6RS).
Есть ли сильный резонанс, почему это так? Мне показалось бы вполне естественным,...
389 просмотров
schedule
02.10.2021
Создание двусвязного списка из списка в OCaml
Мне часто говорят, что, используя модуль Lazy в OCaml, можно делать все, что вы можете делать на ленивом языке, таком как Haskell. Чтобы проверить это утверждение, я пытаюсь написать функцию, которая преобразует обычный список в статический...
3400 просмотров
schedule
03.10.2021
Алгоритм с эффективным использованием памяти для задачи `take n (sort xs)` (sorted prefix)
Я хочу взять n самых больших элементов из ленивого списка.
Я слышал, что сортировка слиянием, реализованная в Data.List.sort, является ленивой и не создает больше элементов, чем необходимо. Это может быть правдой с точки зрения сравнений, но...
710 просмотров
schedule
10.09.2021
Удаление синтаксического сахара: понимание списков в Haskell
Можно ли в этом выражении исключить понимание списка:
[(i,j) | i <- [1..4], j <- [i+1..4]]
Это результат:
[(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)]
Как я могу написать этот фрагмент кода с помощью карты, фильтра и т. Д.?...
2390 просмотров
schedule
17.10.2021
спящий режим, лениться или не лениться?
У меня есть entity A , который имеет отношение "многие ко многим" с entity B .
Итак, макет таблицы: A, AB(mapping table), B
Чтобы получить объект сущности A: я вызываю A.getById() , который делает getHibernateTemplate().get(A.class, id) ,...
1827 просмотров
schedule
16.11.2021
Разве for на самом деле не ленив в clojure?
(take 2 (for [x (range 10)
:let [_ (println x)]
:when (even? x)] x))
>> (* 0
* 1
* 2
* 3
* 4
* 5
* 6
* 7
* 8
* 9
0 2)
Я предположил, что просто веду себя очень тупо. Но нет, оказывается, что Clojure фактически...
1140 просмотров
schedule
26.09.2021
Ленивый клон списка
У меня есть список с большим количеством элементов. Мне нужно создать копию этого списка, чтобы выполнять с ним операции, не изменяя исходный список. Однако операции обычно обращаются только к небольшой части элементов списка, поэтому неэффективно...
479 просмотров
schedule
02.12.2021
Разъяснение по ленивой оценке и ее эффективности
Я наткнулся на следующее предложение на Real World Haskell:
Ленивое вычисление имеет пугающие эффекты. Допустим, мы хотим найти k наименьших значений в несортированном списке. На традиционном языке очевидным подходом было бы отсортировать...
214 просмотров
schedule
03.11.2021
Некоторые вопросы при чтении Почему функциональное программирование важно
Я читаю знаменитую статью Почему так важно функциональное программирование и обнаружил то, чего не могу понять:
# P2 # # P3 # # P4 #
# P5 # # P6 # # P7 # # P8 # # P9 # # P10 # # P11 # # P12 #
133 просмотров
schedule
10.11.2021
Ленивое разделение
У меня есть источник элементов, и я хочу отдельно обрабатывать их прогоны, имеющие одинаковое значение ключевой функции. В Python это выглядело бы так
for key_val, part in itertools.groupby(src, key_fn):
process(key_val, part)
Это решение...
712 просмотров
schedule
22.11.2021
Проверить, было ли значение оценено как нормальная форма слабой головы
Можно ли в Haskell проверить, было ли значение оценено как нормальная форма со слабым заголовком? Если функция уже существует, я бы ожидал, что у нее будет подпись вроде
evaluated :: a -> IO Bool
Есть несколько мест, где живет подобная...
1153 просмотров
schedule
21.11.2021
Есть ли ленивая версия функции F # Seq.groupBy?
Я хотел бы лениво сгруппировать очень большую последовательность, используя следующий код:
// native F# version
let groups =
Seq.initInfinite id
|> Seq.groupBy (fun i -> i % 10)
for (i, group) in groups |> Seq.take 5 do...
213 просмотров
schedule
01.11.2021
Может кто-нибудь объяснить это ленивое решение Фибоначчи?
Это код:
fibs = 0 : 1 : zipWith (+) fibs (drop 1 fibs)
При оценке fibs представляет собой бесконечный список чисел Фибоначчи. Я не понимаю, как составлен список.
zipWith возвращает список, поэтому при сжатии fibs можно получить...
303 просмотров
schedule
13.10.2021
Согласование np.fromiter и многомерных массивов в Python
Мне нравится использовать np.fromiter из numpy , потому что это ресурсоемкий способ создания np.array объектов. Однако похоже, что он не поддерживает многомерные массивы, которые тоже весьма полезны.
import numpy as np
def fun(i):
""" A...
4699 просмотров
schedule
20.10.2021
Преобразование сводной функции в нестандартную оценку NSE в dplyr
Рассмотрим следующий интерактивный пример, который генерирует сводную таблицу:
library(dplyr)
tg <- ToothGrowth
ci_int <- 0.95
tg %>%
group_by(supp, dose) %>%
summarise(N = n(),
mean = mean(len, na.rm = T),...
305 просмотров
schedule
23.11.2021
Следует за функцией Фибоначчи O (n) в Haskell
Как я узнал в SICP, сложность рекурсии дерева растет экспоненциально с увеличением n. Если бы в Haskell я написал вроде,
fib n | n <= 1 = n
| otherwise = fib (n-1) + fib (n-2)
Верно ли, что, поскольку Haskell ленив, он вычисляет...
222 просмотров
schedule
06.10.2021
Понимание ленивых вычислений в R
Я пытаюсь понять, как работает ленивое вычисление в R. Применяется ли это только к оценке аргументов функции? Потому что я понимаю, например
f <- function(x = x, y = x*2) {
c(x, y)
}
f(2)
[1] 2 4
Но на других языках, например В...
491 просмотров
schedule
14.11.2021