Результаты поиска по запросу "lazy-evaluation"

4 ответа

Как оптимизировать эту короткую факториальную функцию в Scala? (Создание 50000 BigInts)

Я сравнил версию Scala (BigInt(1) to BigInt(50000)).reduce(_ * _)к версии Python reduce(lambda x,y: x*y, range(1,50000))и получается, что версия scala заняла примерно в 10 раз больше, чем версия python. Я предполагаю, большая разница в том, ...

4 ответа

Удаление синтаксического сахара: понимание списка в Haskell

Могу ли я осмыслить понимание списка в этом выражении: [(i,j) | i <- [1..4], j <- [i+1..4]]Это вывод: [(1,2),(1,3),(1,4),(2,3),(2,4),(3,4)]Как я могу с помощью карты, фильтра и так далее написать этот фрагмент кода? редактировать Вот ...

2 ответа

Haskell стиль / эффективность

Поэтому я работал над способом ленивого генерирования простых чисел и придумал эти три определения, которые все работают эквивалентным образом - просто проверяя, есть ли у каждого нового целого числа фактор среди всех предыдущих простых ...

ТОП публикаций

5 ответов

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

Этот FAQ [http://users.aber.ac.uk/afc/stricthaskell.html#seq]Говорит, что Оператор seq seq :: a -> b -> bx seq y оценит x, достаточно, чтобы проверить, что оно не снизу, затем отбросить результат и оценить y. Это может показаться ...

4 ответа

Избегайте или задерживайте оценку вещей, которые нельзя использовать

Как можно достичь ленивой оценки в Python? Пара простых примеров: >>> def foo(x): ... print(x) ... return x ... >>> random.choice((foo('spam'), foo('eggs'))) spam eggs 'eggs'Выше нам не нужно было оценивать все элементы этого кортежа, чтобы ...

2 ответа

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

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

3 ответа

Что означает восклицательный знак в декларации на Haskell?

Я натолкнулся на следующее определение, пытаясь изучить Haskell, используя для этого реальный проект. Я не понимаю, что означает восклицательный знак перед каждым аргументом, и мои книги, похоже, не упоминали об этом. data MidiMessage = ...

2 ответа

Последовательность против LazyList

Я не могу обернуть голову разницей между последовательностью иLazyList, Они оба ленивы и потенциально бесконечны. Покаseq<'T> являетсяIEnumerable<'T> из .NET Framework,LazyList входит вF # PowerPack [http://fsharppowerpack.codeplex.com/], На ...

2 ответа

как решить «переполнение стека пространства» в haskell

При запуске следующей программы будет напечатано «переполнение пространства: текущий размер 8388608 байт». я прочиталэто [http://www.haskell.org/haskellwiki/Stack_overflow]а ...

5 ответов

Как достигается отладка в ленивом функциональном языке программирования?

Я хотел бы знать, как отладка достигается на ленивом функциональном языке. Можете ли вы использовать контрольные точки, печатные выражения и традиционные методы? Это даже хорошая идея? Насколько я понимаю, чисто функциональное программирование не ...