0
ответов

Целочисленное переполнение при использовании ленивых последовательностей в Clojure

Я только учусь использовать ленивые последовательности в Clojure, и я не уверен, что я делаю неправильно в следующем коде: (defn sum [seqn] (reduce + seqn)) (defn fib ([] (concat [0 1] (fib 0 1))) ([ab]...
вопрос задан: 25 June 2012 20:34
0
ответов

Существуют ли ленивые переменные в Clojure?

У меня есть немного вычислений, которые довольно дороги (запуск базы данных), и я хочу создать базу данных только в том случае, если я действительно собираюсь ее использовать. Я ищу ссылочную переменную (или просто...
вопрос задан: 14 June 2012 03:38
0
ответов

Ленивая оценка терминов в бесконечном списке в Haskell

Меня интересует производительность бесконечного списка во время выполнения, например приведенный ниже: fibs = 1 : 1 : zipWith (+) fibs (хвост fibs) Это создаст бесконечный список последовательности Фибоначчи. Мой ...
вопрос задан: 10 June 2012 22:31
0
ответов

Как форсировать ленивое вычисление значения

Каков идиоматический способ scala форсировать вычисление ленивого значения?
вопрос задан: 9 June 2012 00:32
0
ответов

Haskell: нестрогие логические операции

Можно ли определить в Haskell функцию, подобную следующей? или Истина Истина = Истина или True undefined = True или Верно Ложно = Верно или не определено Истина = Истина или...
вопрос задан: 8 June 2012 15:02
0
ответов

Haskell: Слияние списков, где оно нужно?

Допустим, у нас есть следующее: l = map f (map g [1..100]) И мы хотим сделать: head l Итак, мы получаем: head (map f (map g [1..100])) Теперь нам нужно получить первый элемент this. map определена ...
вопрос задан: 8 June 2012 12:15
0
ответов

Шаблон для ленивого потокобезопасного экземпляра синглтона в Java

Ленивый потокобезопасный экземпляр синглтона довольно непросто понять для каждого кодера, поэтому я хотел создать класс в рамках нашего предприятия, которые будут делать эту работу. Что вы думаете об этом? ...
вопрос задан: 2 June 2012 04:17
0
ответов

Haskell: Могу ли я выполнить несколько сверток одного и того же ленивого списка, не сохраняя список в памяти?

Мой контекст — биоинформатика, в частности секвенирование следующего поколения, но проблема общая; поэтому я буду использовать файл журнала в качестве примера. Файл очень большой (гигабайты большие, сжатые, поэтому он...
вопрос задан: 29 May 2012 17:17
0
ответов

Разве for в clojure не является ленивым?

(взять 2 (для [x (диапазон 10) :let [_ (println x)] :when (четное? x)] x)) >> (* 0 * 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 0 2) Я полагал, что просто был невероятно туп. ...
вопрос задан: 16 May 2012 00:10
0
ответов

Потоки и монады

Есть ли разница между потоками (ленивыми списками )и монадами? С концептуальной и математической точек зрения, а не с технической реализации. Или же существуют biunique, от одного -до -один...
вопрос задан: 7 May 2012 22:53
0
ответов

F#PSeq.iter, кажется, не использует все ядра

Я выполнял некоторые вычислительные работы в F#. Такие функции, как Array.Parallel.map, использующие.Net Task Parallel Library, экспоненциально ускорили мой код, затрачивая на самом деле минимальное...
вопрос задан: 17 April 2012 06:35
0
ответов

Ленивые и полиморфные значения

(Для следующего упростите Show и Read to class Show a where show ::a -> String class Read a where read ::String -> a И предположим, что чтение никогда не завершается ошибкой. )Хорошо-известно, что можно...
вопрос задан: 16 April 2012 06:17
0
ответов

Lazy vals и неявные параметры в Scala

Я пытался понять, как неявные параметры работают в Scala. Насколько я могу судить, разрешение неявных параметров происходит примерно так:Явная передача объекта методу....
вопрос задан: 15 April 2012 13:40
0
ответов

Scala -Итератор по всем строкам в файлах в каталоге

Мне очень нравится строка for (< -Source fromFile inputPath getLines ){ doSomething line} конструкция для перебора файла в scala, и мне интересно, есть ли способ использовать подобную...
вопрос задан: 10 April 2012 22:08
0
ответов

Когда именно оценивается заголовок потока?

Обычно, если вы создаете объект Stream, заголовок будет жадно оцениваться: scala> Stream( {println("evaluating 1"); 1} , 2, 3) оценка 1 res63: scala.collection.immutable.Stream[Int] = Stream(...
вопрос задан: 25 March 2012 01:04
0
ответов

Ленивые аргументы Scala: как они работают?

В файле Parsers.scala (Scala 2.9.1) из библиотеки комбинаторов парсеров я, кажется, наткнулся на менее известную функцию Scala, называемую «ленивыми аргументами». Вот пример: def ~ [U](q: => ...
вопрос задан: 21 March 2012 16:59
0
ответов

в чем разница между lazy="true" и fetch="select" в спящем режиме?

Атрибут lazy=true включает ленивую загрузку родительской и дочерней коллекций, а также атрибут fetch="select". Есть ли разница между lazy="true" и fetch="select" в спящем режиме?...
вопрос задан: 21 March 2012 13:18
0
ответов

Какова цель OCaml Lazy.lazy_from_val?

В документе Lazy.lazy_from_val указано, что эта функция предназначена для особых случаев: val lazy_from_val : 'a -> 'at lazy_from_val v возвращает уже принудительно приостановку v Это для особых...
вопрос задан: 18 March 2012 17:39
0
ответов

Временная стоимость оператора `seq` в Haskell

В этом FAQ говорится, что Оператор seq seq :: a -> b -> bx seq y будет оценивать x, достаточно проверить, что он не является нижним, затем отбросить результат и оценить y. Может показаться, что это не так...
вопрос задан: 14 March 2012 17:44
0
ответов

`def` против` val` против `lazy val` в Scala

Правильно ли я понимаю, что def оценивается каждый раз, когда к нему обращаются, ленивый val оценивается, когда к нему обращаются, val оценивается, когда он попадает в область выполнения?
вопрос задан: 26 February 2012 00:55
0
ответов

Стратегия оценки

Как следует рассуждать об оценке функции в примерах вроде следующего в Haskell: let f x = ... x = ... in map (g (fx)) xs В GHC иногда (fx) оценивается только один раз, а иногда ...
вопрос задан: 25 February 2012 00:00
0
ответов

Производительность потоков Scala

Каноническим примером полезности рекурсивных алгебраических типов данных и ленивого вычисления является игровой алгоритм, например как показано в знаменитой статье Джона Хьюза WhyFP (Comp. J., Vol. 32, No. 2, ...
вопрос задан: 20 February 2012 18:45
0
ответов

Преобразует ли ghc список, используемый только один раз, в генератор из соображений эффективности?

Если да, то является ли это частью стандарта или специфической оптимизацией ghc, от которой мы можем зависеть? Или просто оптимизация, от которой мы не обязательно можем зависеть. P.S.: Когда я попробовал тестовый образец, он показался ...
вопрос задан: 16 February 2012 14:00
0
ответов

В чем заключаются точки строгости Haskell?

Все мы знаем (или должны знать), что Haskell по умолчанию является ленивым. Ничего не оценивается до тех пор, пока его не нужно оценивать. Итак, когда нужно что-то оценивать? Есть моменты, в которых Haskell должен быть строгим. Я ...
вопрос задан: 5 February 2012 00:34
0
ответов

В текущем Scala есть более чистый способ реализовать «шаблон ленивого конструктора»

Ближайший к case class Foo (lazy next: Foo) что мне удалось придумать, это class Foo (_next: => Foo) {lazy val next = _next } object Foo {def apply (next: => Foo) = ...
вопрос задан: 4 February 2012 23:37
0
ответов

Принуждает ли Clojure memoize оценивать свои аргументы?

В Clojure если я мемоизирую функцию, называю ее f и вызываю ее на аргументе a. Если a - большое ленивое значение, возвращает ли memoize значение, основанное на совпадении с thunk, а не на принудительной оценке ...
вопрос задан: 1 February 2012 00:38
0
ответов

Как подражать лени

Я смотрел интервью с Джоном Хьюзом, и его спросили, скучает ли он по лени, когда он перешел с Haskell на Erlang, в ответ сказал «да» и использовал инструменты для его «эмуляции». Мой вопрос: ...
вопрос задан: 27 January 2012 12:33
0
ответов

лень и композиция функций (haskell, erlang)

Может ли кто-нибудь объяснить или дать некоторые ресурсы о том, как композиция функций работает по отношению к лени? Например, как работает filter (/ = 'W'). map toUpper $ "justaword" по сравнению с Haskell ...
вопрос задан: 27 January 2012 10:58
0
ответов

то, как merge-sort быстрее insertion-sort, озадачивает меня

Только что намочил ноги в алгоритме сортировки на Haskell. Я реализовал insertion-sort и merge-sort insert_sort :: (Ord a, Show a) => [a] -> [a]. insert_sort keys = foldr f [] keys ...
вопрос задан: 19 January 2012 21:00
0
ответов

Насколько ленив Haskell `++`?

Мне любопытно, как я должен улучшить производительность подпрограммы Haskell, которая находит лексикографически минимальное циклическое вращение строки. импортировать Data.List поменять местами при n = f. splitAt n where ...
вопрос задан: 15 January 2012 19:38