Я не понимал разницы между вызовом по имени и вызовом по необходимости. Как я понял, метод Call-by-need восстанавливает возвращенный ответ. Но как это нам помогает и есть ли какая-то принципиальная разница ...
По-видимому, можно реализовать Haskell так, чтобы он выполнял оценку без всякого изменения семантики языка. Если это правда, как обрабатываются бесконечные структуры данных? http: // ...
Я написал монаду с функциональностью Writer, используя подход Operational Monad. Затем я заметил, что она не работает лениво. В приведенном ниже коде есть rogueWriter, который выполняет бесконечно много ...
Прочитав статью http://jeffkreeftmeijer.com/2011/method-chaining-and-lazy-evaluation-in-ruby/, я начал искать лучшее решение для цепочки методов и отложенного вычисления. Думаю, я ...
У меня есть сущность A, которая имеет отношение «многие ко многим» с сущностью B. Итак, макет таблицы: A, AB (таблица сопоставления), B Чтобы получить объект сущности A: я вызываю A .getById (), который выполняет ...
Как выглядят банки для следующих значений/выражений/функций в куче Haskell? val = 5 -- является ли `val` указателем на ящик, содержащий 5?
add x y = x + y result = add ...
Я хотел бы иметь HashMap , чтобы каждый день в полночь истекал срок действия кеша. Обратите внимание, что это решение J2EE, поэтому к нему могут обращаться несколько потоков. Как лучше всего ...
Как принудительно оценить входные данные функции перед тестированием функции в Criterion? Я пытаюсь протестировать некоторые функции, но хочу исключить время для оценки входного преобразователя. ...
Learn You a Haskell упоминает списки различий (ищите этот термин на этой странице), где список l представлен не напрямую, а как функция (l ++) . Это позволяет более эффективно объединять оба ...
Достаточно очевидно, почему язык функционального программирования, который хочет быть ленивым, должен быть чистым.Я смотрю на обратный вопрос: если язык хочет быть чистым, есть ли большое преимущество в том, чтобы быть ...
Я создаю простой графический интерфейс Swing в Clojure. Я пытаюсь применить одну функцию к нескольким компонентам графического интерфейса, используя карту в контексте let: (map # (f% component4) [component1 component2 ...
Пример 1 (не компилируется): void Main ()
{var c = новый C (); c.M.F ();
} класс C
{T _m = null; общедоступный T M {получить {если (_m == null) _m = new T (); ...
В Django я с удовольствием использую ugettext_lazy, чтобы отложить перевод строки только тогда, когда требуется ее представление. Проблема в том, что когда я объединяю ленивую строку с нормальной строкой или ...
У меня есть небольшая альтернативная реализация groupBy, которая для меня более полезна, чем версия в Data.List, потому что она не требует, чтобы тест был отношением эквивалентности: groupBy ':: (a -> ...
Могу ли я исключить понимание списка в этом выражении: [(i, j) | i <- [1..4], j <- [i + 1..4]] Это результат: [(1,2), (1,3), (1,4), (2,3 ), (2,4), (3,4)] Как я могу с помощью карты, фильтра и т. Д., ...
Я следил за The Joy of Clojure, и я озадачен этими двумя утверждениями (def очень-ленивый (-> (iterate # (do (print \.) (inc%)) 1) rest rest rest)) (def less-lazy (-> (iterate # (do (print \.) .. .
Я сравнил версию scala (BigInt (1) с BigInt (50000)). Reduce (_ * _) до версии python reduce (lambda x, y: x * y, range ( 1,50000)) и оказалось, что версия scala заняла около 10 ...
Я рассматриваю возможность использования Scala для довольно интенсивной в вычислительном отношении программы. Профилирование C++ версии нашего кода показало, что мы могли бы значительно выиграть от ленивой оценки. Я попробовал ...
Сегодня мы наткнулись на проблему в нашем коде и не смогли ответить на этот вопрос Clojure: оценивает ли Clojure нечистый код (или вызовы Java-кода) строго или лениво? Похоже, что побочные эффекты + ...
У меня есть функция, которая принимает ленивую ByteString, и я хочу иметь списки возврата строгих ByteString (лень следует передать списку вывода). импорт квалифицированных данных ....
Играя с монадами, я часто сталкиваюсь с проблемами оценки. Сейчас я понимаю основные концепции ленивой оценки, но не понимаю, как монады лениво оцениваются в Haskell. Рассмотрим ...
Я пытаюсь изучить Haskell, но застрял в понимании ленивого вычисления.
Может кто-нибудь подробно объяснить мне ленивое вычисление и результаты следующих двух случаев [с объяснение] в отношении ...
Я много раз читал, что ленивое вычисление в Haskell иногда может приводить к утечкам пространства. Какой код может привести к утечке пространства? Как их обнаружить? И какие меры предосторожности можно предпринять со стороны ...
Я пишу программу, которая читает из списка файлов. Каждый файл либо содержит ссылку на следующий файл, либо отмечает, что это конец цепочки. Поскольку я был новичком в Haskell, мне показалось, что ...
Допустим, у меня есть функция, которая может вычислять степень четырех чисел, определяемых let power4 x = x * x * x * x И я пытаюсь передать x = (3 + 8) * 2 let result = power4 ((3 + 8) * 2) Поскольку в Haskell ...
Я действительно потратил время алгоритм потребления, который в результате выдает короткую строку. Когда я пытаюсь распечатать его (через putStrLn), он появляется на экране символ за символом. Я действительно понял, почему это ...
Существует две строгих версии функции zipWith: 1) Действительно строгие, элементы списков l1 и l2 оцениваются, поэтому их преобразователи не занимают все пространство стека (код Дона Стюарта) zipWith 'f l1 l2 = [f e1 ...
В документации MSDN для метода расширения Lazy.Force сказано: Принудительное выполнение этого значения и возврат его результата. То же, что и Value. Взаимное исключение используется для предотвращения других ...